MCPcopy Create free account
hub / github.com/OpenPrinting/cups / cgiSetSize

Function cgiSetSize

cgi-bin/var.c:529–568  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

527 */
528
529void
530cgiSetSize(const char *name, /* I - Name of variable */
531 int size) /* I - Number of elements (0 to N) */
532{
533 int i; /* Looping var */
534 _cgi_var_t *var; /* Returned variable */
535
536
537 if (name == NULL || size < 0 || size > 100000)
538 return;
539
540 if ((var = cgi_find_variable(name)) == NULL)
541 return;
542
543 if (size >= var->avalues)
544 {
545 char **temp; /* Temporary pointer */
546
547 temp = (char **)realloc((void *)(var->values), sizeof(char *) * (size_t)(size + 16));
548 if (!temp)
549 return;
550
551 var->avalues = size + 16;
552 var->values = temp;
553 }
554
555 if (size > var->nvalues)
556 {
557 for (i = var->nvalues; i < size; i ++)
558 var->values[i] = NULL;
559 }
560 else if (size < var->nvalues)
561 {
562 for (i = size; i < var->nvalues; i ++)
563 if (var->values[i])
564 free((void *)(var->values[i]));
565 }
566
567 var->nvalues = size;
568}
569
570
571/*

Callers 1

do_set_optionsFunction · 0.85

Calls 1

cgi_find_variableFunction · 0.85

Tested by

no test coverage detected