| /* |
| * CGI template test program for CUPS. |
| * |
| * Copyright 2007-2011 by Apple Inc. |
| * Copyright 2006 by Easy Software Products. |
| * |
| * Licensed under Apache License v2.0. See the file "LICENSE" for more information. |
| */ |
| |
| /* |
| * Include necessary headers... |
| */ |
| |
| #include "cgi.h" |
| |
| |
| /* |
| * 'main()' - Test the template code. |
| */ |
| |
| int /* O - Exit status */ |
| main(int argc, /* I - Number of command-line arguments */ |
| char *argv[]) /* I - Command-line arguments */ |
| { |
| int i; /* Looping var */ |
| char *value; /* Value in name=value */ |
| FILE *out; /* Where to send output */ |
| |
| |
| /* |
| * Don't buffer stdout or stderr so that the mixed output is sane... |
| */ |
| |
| setbuf(stdout, NULL); |
| setbuf(stderr, NULL); |
| |
| /* |
| * Loop through the command-line, assigning variables for any args with |
| * "name=value"... |
| */ |
| |
| out = stdout; |
| |
| for (i = 1; i < argc; i ++) |
| { |
| if (!strcmp(argv[i], "-o")) |
| { |
| i ++; |
| if (i < argc) |
| { |
| out = fopen(argv[i], "w"); |
| if (!out) |
| { |
| perror(argv[i]); |
| return (1); |
| } |
| } |
| } |
| else if (!strcmp(argv[i], "-e")) |
| { |
| i ++; |
| |
| if (i < argc) |
| { |
| if (!freopen(argv[i], "w", stderr)) |
| { |
| perror(argv[i]); |
| return (1); |
| } |
| } |
| } |
| else if (!strcmp(argv[i], "-q")) |
| freopen("/dev/null", "w", stderr); |
| else if ((value = strchr(argv[i], '=')) != NULL) |
| { |
| *value++ = '\0'; |
| cgiSetVariable(argv[i], value); |
| } |
| else |
| cgiCopyTemplateFile(out, argv[i]); |
| } |
| |
| /* |
| * Return with no errors... |
| */ |
| |
| return (0); |
| } |