#include "settings_file.h" #include #include "config.h" void set_settings_file(struct mg_connection *c, struct mg_http_message *hm) { char *filename = cm_get_parameter_as_string(config, "dnsmasq_config"); if (!filename) { mg_http_reply(c, 500, HTTP_HEADERS, "{%m:%m}", MG_ESC("error"), MG_ESC("can't read config file")); return; } char *res = write_file(cm_get_parameter_as_string(config, "dnsmasq_config"), hm->body.buf); if (!res) { mg_http_reply(c, 500, HTTP_HEADERS, "{%m:%m}", MG_ESC("error"), MG_ESC("can't write file")); return; } mg_http_reply(c, 200, "Content-Type: text/plain\r\nAccess-Control-Allow-Origin: *\r\n", res); free(filename); free(res); }