#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