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

Function cgiGetAttributes

cgi-bin/ipp-var.c:24–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22 */
23
24void
25cgiGetAttributes(ipp_t *request, /* I - IPP request */
26 const char *tmpl) /* I - Base filename */
27{
28 int num_attrs; /* Number of attributes */
29 char *attrs[1000]; /* Attributes */
30 int i; /* Looping var */
31 char filename[1024], /* Filename */
32 locale[16]; /* Locale name */
33 const char *directory, /* Directory */
34 *lang; /* Language */
35 FILE *in; /* Input file */
36 int ch; /* Character from file */
37 char name[255], /* Name of variable */
38 *nameptr; /* Pointer into name */
39
40
41 /*
42 * Convert the language to a locale name...
43 */
44
45 if ((lang = getenv("LANG")) != NULL)
46 {
47 for (i = 0; lang[i] && i < 15; i ++)
48 if (isalnum(lang[i] & 255))
49 locale[i] = (char)tolower(lang[i]);
50 else
51 locale[i] = '_';
52
53 locale[i] = '\0';
54 }
55 else
56 locale[0] = '\0';
57
58 /*
59 * See if we have a template file for this language...
60 */
61
62 directory = cgiGetTemplateDir();
63
64 snprintf(filename, sizeof(filename), "%s/%s/%s", directory, locale, tmpl);
65 if (access(filename, 0))
66 {
67 locale[2] = '\0';
68
69 snprintf(filename, sizeof(filename), "%s/%s/%s", directory, locale, tmpl);
70 if (access(filename, 0))
71 snprintf(filename, sizeof(filename), "%s/%s", directory, tmpl);
72 }
73
74 /*
75 * Open the template file...
76 */
77
78 if ((in = fopen(filename, "r")) == NULL)
79 return;
80
81 /*

Callers 5

cgiShowJobsFunction · 0.85
show_all_classesFunction · 0.85
show_classFunction · 0.85
show_all_printersFunction · 0.85
show_printerFunction · 0.85

Calls 2

cgiGetTemplateDirFunction · 0.85
ippAddStringsFunction · 0.85

Tested by

no test coverage detected