From: Andrea Zagli <azagli@libero.it> Date: Wed, 4 May 2016 13:18:40 +0000 (+0200) Subject: Conflict in merge from develop. X-Git-Tag: v0.1.0~3^2~8 X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=356c4094dc7d4138635d2302e595d30d99ed2bf3;p=libzakcgi Conflict in merge from develop. --- 356c4094dc7d4138635d2302e595d30d99ed2bf3 diff --cc src/session.c index 61d0462,d2e940a..0b74687 --- a/src/session.c +++ b/src/session.c @@@ -300,49 -301,10 +300,49 @@@ zak_cgi_session_set_value_full (ZakCgiS { ZakCgiSessionPrivate *priv = ZAK_CGI_SESSION_GET_PRIVATE (session); + GError *error; + if (priv->kfile != NULL) { - g_key_file_set_string (priv->kfile, "SESSION", name, value); - g_key_file_save_to_file (priv->kfile, g_file_get_path (priv->gfile), NULL); + if (name == NULL) + { + error = NULL; + if (!g_key_file_remove_group (priv->kfile, group, &error) + || error != NULL) + { + g_warning ("Unable to unset key «%s» in group «%s»: %s.", + name, + group, + error != NULL && error->message != NULL ? error->message : "no details"); + } + } + else + { + if (value == NULL) + { + error = NULL; + if (!g_key_file_remove_key (priv->kfile, group, name, &error) + || error != NULL) + { + g_warning ("Unable to unset key «%s» in group «%s»: %s.", + name, + group, + error != NULL && error->message != NULL ? error->message : "no details"); + } + } + else + { - g_key_file_set_value (priv->kfile, group, name, value); ++ g_key_file_set_string (priv->kfile, group, name, value); + } + } + + error = NULL; + if (!g_key_file_save_to_file (priv->kfile, g_file_get_path (priv->gfile), &error) + || error != NULL) + { + g_warning ("Unable to write session file: %s.", + error != NULL && error->message != NULL ? error->message : "no details"); + } } }