X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain.h;h=8d1c2579848494c67801970280d84fca45252ba5;hb=881cd13b40104b1ac8aebf282eca72e2fa134ba2;hp=1869cdac140118db187a386af6dc240a92bc0b2d;hpb=929eb2a9b45b11b5e3d76f1d4ac744853b7ab2fe;p=systembsd.git diff --git a/src/main.h b/src/main.h index 1869cda..8d1c257 100644 --- a/src/main.h +++ b/src/main.h @@ -1,74 +1,37 @@ -#include -#include "xml_defs.h" - -//expects valid input, always free() output -const gchar **get_prefixs(gchar *path, gchar *dname) { - gsize size = sizeof(path) + sizeof(dname) + 11; //11 extra bytes for file suffix - const gchar **ret = (gchar**) g_malloc0(2 * size); - - g_snprintf(ret[0], size, "%s%s-ispect.xml", path, dname); - g_snprintf(ret[1], size, "%s%s-config.xml", path, dname); - - return ret; -} - -const GString *strjoin(gchar *sep, GString strings[]) { - GString *cur; - GString *out; - gint n; +/* + * Copyright (c) 2014 Ian Sutton + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ - while((cur = &strings[n]) != NULL) { - g_string_append(out, cur); - n++; - } - - return out; -} +#include +//TODO change this to config dir, not data dir gboolean install_conf() { - gchar *our_conf_uri = "systemd-utl/xml-conf/"; - gchar **data_dir = g_get_system_data_dirs(); - - if(g_strcmp0(data_dir[0], NULL)) { - const gchar our_conf_path[256]; - g_snprintf(our_conf_path, sizeof our_conf_path, "%s%s", *data_dir, our_conf_uri); - GError **errors; - - /*TODO permissions w/ this */ - g_mkdir_with_parents(our_conf_path, 0644); - - const gchar **hostnamed_prefixs = get_prefixs(our_conf_path, "hostnamed"); - const GString *hostnamed_ispect_xml = strjoin("\n", hostnamed_ispect_xml_def); - const GString *hostnamed_config_xml = strjoin("\n", hostnamed_config_xml_def); - - const gchar **timedated_prefixs = get_prefixs(our_conf_path, "timedated"); - const GString *timedated_ispect_xml = strjoin("\n", timedated_ispect_xml_def); - const GString *timedated_config_xml = strjoin("\n", timedated_config_xml_def); - - const gchar **localed_prefixs = get_prefixs(our_conf_path, "localed"); - const GString *localed_ispect_xml = strjoin("\n", localed_ispect_xml_def); - const GString *localed_config_xml = strjoin("\n", localed_config_xml_def); - - const gchar **logind_prefixs = get_prefixs(our_conf_path, "logind"); - const GString *logind_ispect_xml = strjoin("\n", logind_ispect_xml_def); - const GString *logind_config_xml = strjoin("\n", logind_config_xml_def); - - g_file_set_contents(*hostnamed_prefixs[0], hostnamed_config_xml, -1, errors); - g_file_set_contents(*hostnamed_prefixs[1], hostnamed_config_xml, -1, errors); - - g_file_set_contents(*timedated_prefixs[0], timedated_config_xml, -1, errors); - g_file_set_contents(*timedated_prefixs[1], timedated_config_xml, -1, errors); - - g_file_set_contents(*localed_prefixs[0], localed_config_xml, -1, errors); - g_file_set_contents(*localed_prefixs[1], localed_config_xml, -1, errors); - - g_file_set_contents(*logind_prefixs[0], logind_config_xml, -1, errors); - g_file_set_contents(*logind_prefixs[1], logind_config_xml, -1, errors); - - /* TODO: free() strings */ - - return (errors[0] == NULL); - - } else - return FALSE; + gchar *our_conf_uri = "systemd-utl/xml-conf/"; + gchar **data_dir = g_get_system_data_dirs(); + + if(g_strcmp0(data_dir[0], NULL)) { + const gchar our_conf_path[256]; + g_snprintf(our_conf_path, sizeof our_conf_path, "%s%s", *data_dir, our_conf_uri); + GError **errors; + + /*TODO permissions w/ this */ + g_mkdir_with_parents(our_conf_path, 0644); + + return FALSE; + //return (errors[0] == NULL); + + } else + return FALSE; }