4 * parser helper functions
10 /* returns pointer to next line or end of buffer */
11 char* eat_line(char* buffer, unsigned int len)
16 for(nl=buffer;(nl<buffer+len)&& (*nl!='\r')&&(*nl!='\n') ;nl++);
18 if (nl+1<buffer+len) nl++;
19 if ((nl+1<buffer+len) &&
20 ((c=='\r' && *nl=='\n')|| (c=='\n' && *nl=='\r')))
27 /* returns pointer to first non white char or to the end of the buffer */
28 char* eat_space(char* buffer, unsigned int len)
32 for(p=buffer;(p<buffer+len)&& (*p==' ' || *p=='\t') ;p++);
38 /* returns pointer after the token (first whitespace char or CR/LF) */
39 char* eat_token(char* buffer, unsigned int len)
43 for (p=buffer;(p<buffer+len)&&
44 (*p!=' ')&&(*p!='\t')&&(*p!='\n')&&(*p!='\r');
51 /* returns pointer after the token (first delim char or CR/LF) */
52 char* eat_token2(char* buffer, unsigned int len, char delim)
56 for (p=buffer;(p<buffer+len)&&
57 (*p!=delim)&&(*p!='\n')&&(*p!='\r');
64 /* returns true if line started at buffer contains only white space */
65 int is_empty(char* buffer, unsigned int len)
69 p=eat_space(buffer, len);
70 if ((p < buffer+len ) && (*p=='\r' || *p=='\n')) return 1;