Return Type | Function name | Arguments |
---|---|---|
hzEcode | SplitCSV | (char**,char*,unsigned int,char,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
hzEcode SplitCSV (char** ar, char* line, unsigned int arSize, char cDelim) { char* i ; uint32_t nPos ; if (!ar || !arSize) return E_ARGUMENT ; nPos = 0; if (!line || !line[0]) return E_ARGUMENT ; if (!cDelim || cDelim == CHAR_DQUOTE) cDelim = CHAR_COMMA ; for (i = line ; *i && nPos < arSize ; i++) { if (*i == CHAR_DQUOTE) { i++ ; ar[nPos++] = i ; for (; *i ; i++) { if (*i == CHAR_DQUOTE) { *i++ = 0; break ; } } if (*i && *i != cDelim) return E_FORMAT ; continue ; } ar[nPos++] = i ; for (; *i ; i++) { if (*i == cDelim) { i++ ; break ; } } } return E_OK ; }