#include "cgi.h"
#include "printf.h"
#include "mime.h"
-#include "utf8.h"
+#include "unicode.h"
struct kvp *cgi_args;
else
fatal(0, "unknown request method %s", p);
for(k = cgi_args; k; k = k->next)
- if(!validutf8(k->name)
- || !validutf8(k->value))
+ if(!utf8_valid(k->name, strlen(k->name))
+ || !utf8_valid(k->value, strlen(k->value)))
fatal(0, "invalid UTF-8 sequence in cgi argument");
}
int n;
if(!raw) {
- if(!(ucs = utf82ucs4(s))) exit(EXIT_FAILURE);
+ if(!(ucs = utf8_to_utf32(s, strlen(s), 0))) exit(EXIT_FAILURE);
} else {
ucs = xmalloc_noptr((strlen(s) + 1) * sizeof(uint32_t));
for(n = 0; s[n]; ++n)
read_options();
if(!(label = kvp_get(labels, key))) {
- if((label = strchr(key, '.')))
+ /* No label found */
+ if(!strncmp(key, "images.", 7)) {
+ static const char *url_static;
+ /* images.X defaults to <url.static>X.png */
+
+ if(!url_static)
+ url_static = cgi_label("url.static");
+ byte_xasprintf((char **)&label, "%s%s.png", url_static, key + 7);
+ } else if((label = strchr(key, '.')))
+ /* X.Y defaults to Y */
++label;
else
+ /* otherwise default to label name */
label = key;
}
return label;
comment-column:40
End:
*/
-/* arch-tag:a7a5220f29b8bb8d64c0f836f7f41f1f */