diff options
Diffstat (limited to 'cgi/cgicheckbox.c')
| -rw-r--r-- | cgi/cgicheckbox.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cgi/cgicheckbox.c b/cgi/cgicheckbox.c new file mode 100644 index 0000000..87f35af --- /dev/null +++ b/cgi/cgicheckbox.c @@ -0,0 +1,41 @@ +/* +** Copyright 2007 Double Precision, Inc. +** See COPYING for distribution information. +*/ + +/* +*/ + +#include "cgi.h" +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <ctype.h> + +char *cgi_checkbox(const char *name, + const char *value, + const char *flags) +{ + char *buf; + + if (!value) + value=""; + + buf=malloc(strlen(name)+strlen(flags)+200); + + if (!buf) + return NULL; + + strcpy(buf, "<input type='checkbox' name='"); + strcat(buf, name); + strcat(buf, "' value='"); + strcat(buf, value); + strcat(buf, "'"); + + if (strchr(flags, '*')) + strcat(buf, " checked='checked'"); + if (strchr(flags, 'd')) + strcat(buf, " disabled='disabled'"); + strcat(buf, " />"); + return buf; +} |
