/**********************************************
** 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();
}
Esempio n. 2
0
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;
}