histui/source/caret_notater.h

30 lines
626 B
C

#ifndef CARET_NOTATER
#define CARET_NOTATER
static inline
int is_caret(char c) {
return (0 <= c && c <= 31);
}
static inline
char to_caret_char(char c) {
return c + '@';
}
char * string_to_caret_notation(const char * input, int size, char * output) {
int output_empty_end = 0;
for (int i = 0; i < size; i++) {
if (is_caret(input[i])) {
output[output_empty_end++] = '^';
output[output_empty_end++] = to_caret_char(input[i]);
} else {
output[output_empty_end++] = input[i];
}
}
output[output_empty_end] = '\0';
return output;
}
#endif