From b4dddad64122649d9da6340032275d1756930e74 Mon Sep 17 00:00:00 2001 From: epoch Date: Fri, 9 Dec 2016 15:54:33 -0600 Subject: LOTS OF SHIT --- tests/splitter.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/splitter.c (limited to 'tests/splitter.c') diff --git a/tests/splitter.c b/tests/splitter.c new file mode 100644 index 0000000..25292f6 --- /dev/null +++ b/tests/splitter.c @@ -0,0 +1,53 @@ +char **line_splitter(char *line,int *rlen) { + char **a; + int i=0,j=0; + int len; + len=1; + for(i=0;line[i] && line[i] == ' ';i++);//skip leading space + for(;line[i];) { + for(;line[i] && line[i] != ' ';i++);//skip rest of data + for(;line[i] && line[i] == ' ';i++);//skip rest of space + len++; + } + a=malloc(sizeof(char *) * len+1); + a[len]=0; + len=0;//reuse! + for(i=0;line[i] && line[i] == ' ';i++);//skip leading space + a[len]=line+i; + for(;;) { + for(;line[i] && line[i] != ' ';i++);//skip rest of data + if(line[i]) { + line[i]=0; + i++; + } else { + //we're at the end! I guess return this shit. + len++; + a[len]=0; + *rlen=len; + return a; + } + for(;line[i] && line[i] == ' ';i++);//skip rest of space + if(line[i]) { + len++; + a[len]=line+i; + } else { + len++; + a[len]=0; + *rlen=len; + return a; + } + } + *rlen=len; + return a; +} + +int main(int argc,char *argv[]) { + char **a; + int len; + int i; + a=line_splitter(strdup(argv[1]),&len); + for(i=0;i