aboutsummaryrefslogtreecommitdiff
path: root/cleanstring.c
blob: 86be7faac93cfddd13eebb4cfe6fe1f336b17e0e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdlib.h>
#include <string.h>

#include "cleanstring.h"

char* cleantocstring(CleanString s) {
    char* cs = malloc(sizeof(char) * CleanStringLength(s) + 1);
    int i;
    for (i = 0; i < CleanStringLength(s); i++)
        cs[i] = CleanStringCharacters(s)[i];
    cs[i] = 0;
    return cs;
}

CleanString* ctocleanstring(char* s) {
    CleanString* cs = malloc(sizeof(long) + sizeof(char)*strlen(s));
    *((long*)cs) = (long) strlen(s);
    int i = 0;
    for (; s[i]; i++)
        *((char*)cs + ((int)sizeof(long))+i) = s[i];
    return cs;
}