1 // Copyright (2013) Jann Horn <jann@thejh.net>
2 // This code is licensed under the AGPLv3.
9 int print_map(struct dirent *dent, void *data) {
10 if (!ends_with(dent->d_name, ".png")) return 0;
12 size_t dent_name_len = strlen(dent->d_name);
13 char name_nopng[dent_name_len-4+1];
14 memcpyn(name_nopng, dent->d_name, dent_name_len-4);
16 printf(" <div class=\"map\">"
17 "\n <a href=\"loadmap?%s\">"
18 "\n <div class=\"mapimg\"><img src=\"%s/%s\"></div>"
19 "\n <div class=\"mapname\">%s</div>"
23 name_nopng, getcval("maps_url"), dent->d_name, name_nopng
30 maps_url = getcval("maps_url");
31 maps_dir = getcval("maps_dir");
33 puts("Status: 200 graphical listing coming up..."
34 "\nContent-Type: text/html;charset=utf8"
35 "\nX-Frame-Options: DENY"
40 "\n <title>Quake Control</title>"
42 "\n .map {float: left; padding: 5px; }"
47 dir_foreach(maps_dir, print_map, NULL);