/********************************************** ** Usage : qValueFirst(query name); ** Return: Success pointer of first value string, Fail NULL. ** Do : Find first value string pointer. **********************************************/ char *qValueFirst(char *format, ...) { int status; va_list arglist; va_start(arglist, format); status = vsprintf(_multi_last_key, format, arglist); if ((strlen(_multi_last_key) + 1 > sizeof(_multi_last_key)) || (status == EOF)) qError("qValueFirst(): Message is too long or invalid."); va_end(arglist); if (_first_entry == NULL) qDecoder(); _multi_last_entry = _first_entry; return qValueNext(); }
int main(void) { char *list; qDecoder(); qContentType("text/html"); if((list = qValueFirst("checklist")) == NULL) qError("Check what you want to order please."); printf("You ordered "); for(; list; list = qValueNext()) { printf("<b>%s</b> \n", list); } qFree(); return 0; }