utils-text.h 697 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright © 2024 Pierre Le Marre <dev@wismill.eu>
  3. * SPDX-License-Identifier: MIT
  4. */
  5. #pragma once
  6. #include "config.h"
  7. #include <stddef.h>
  8. #include <stdint.h>
  9. char *
  10. strip_lines(const char *input, size_t input_length, const char *prefix);
  11. char *
  12. uncomment(const char *input, size_t input_length, const char *prefix);
  13. struct text_line {
  14. const char *start;
  15. size_t length;
  16. };
  17. size_t
  18. split_lines(const char *input, size_t input_length,
  19. struct text_line *output, size_t output_length);
  20. size_t
  21. concat_lines(struct text_line *lines, size_t length,
  22. const char *sep, char *output);
  23. size_t
  24. shuffle_lines(struct text_line *lines, size_t length, char *output);