Unnamed
public text v1 · immutableint getAGIResultFromString(char * rawdbdata, AGIResult * ResultStruct, FILE * log) {
char buffer[80];
unsigned int delimiters = 0;
int lastdelimiterpos = 0;
for (int i = 0 ; (unsigned)i < strlen(rawdbdata) ; i++) {
if ( (rawdbdata[i] != ' ') && (rawdbdata[i] != '=' ) ) {
/* DEBUG FILE */
fprintf(log, "Character: %i\n", i);
fprintf(log, "Buffer position: %i\n", (i-lastdelimiterpos));
fprintf(log, "Data printed: %c\n", rawdbdata[i]);
fflush(log);
/* DEBUG FILE */
buffer[i-lastdelimiterpos] = rawdbdata[i];
/* DEBUG FILE */
fprintf(log, "Buffer contents: %s\n", buffer);
fflush(log);
/* DEBUG FILE */
} else {
/* DEBUG FILE */
fflush(log);
/* DEBUG FILE */
delimiters++;
if ( delimiters == 1 ) {
lastdelimiterpos = i;
lastdelimiterpos++;
ResultStruct->id = atoi(buffer);
strcpy(buffer,"");
/* DEBUG FILE */
fprintf(log, "Found one delimiter: %i\n", ResultStruct->id);
fflush(log);
/* DEBUG FILE */
}
if ( (delimiters == 2) && (ResultStruct->id == 200) ) {
lastdelimiterpos = i;
lastdelimiterpos++;
/* DEBUG FILE */
fprintf(log, "Entered second delimiter: %s\n", buffer);
fflush(log);
/* DEBUG FILE */
strcpy(ResultStruct->Result, buffer);
strcpy(buffer, "");
/* DEBUG FILE */
fprintf(log, "Found second delimiter: %s\n", ResultStruct->Result);
fprintf(log, "This is left in buffer: %s\n", buffer);
fflush(log);
/* DEBUG FILE */
}
if ( (delimiters == 3) && (ResultStruct->id == 200) ) {
lastdelimiterpos = i;
lastdelimiterpos++;
/* DEBUG FILE */
fprintf(log, "Entered last delimiter: %s\n", buffer);
fflush(log);
fflush(log);
/* DEBUG FILE */
strcpy(ResultStruct->ResultValue, buffer);
strcpy(buffer, "");
i = strlen(rawdbdata);
/* DEBUG FILE */
fprintf(log, "Found last delimiter: %s\n", ResultStruct->ResultValue);
fflush(log);
/* DEBUG FILE */
}
if ( (delimiters == 2) && (ResultStruct->id != 200) ) {
lastdelimiterpos = i;
lastdelimiterpos++;
strcpy(ResultStruct->Info, rawdbdata);
strcpy(buffer, "");
i = strlen(rawdbdata);
}
}
}
return 0;
}