diff options
Diffstat (limited to 'src/gns/gnunet-gns-gtk_zone.c')
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c index c541fcba..25d2982d 100644 --- a/src/gns/gnunet-gns-gtk_zone.c +++ b/src/gns/gnunet-gns-gtk_zone.c | |||
@@ -26,12 +26,6 @@ | |||
26 | #include "gnunet_gtk.h" | 26 | #include "gnunet_gtk.h" |
27 | #include "gnunet-gns-gtk.h" | 27 | #include "gnunet-gns-gtk.h" |
28 | 28 | ||
29 | #define NEW_NAME_STR "<new name>" | ||
30 | #define NEW_RECORD_STR "<new record>" | ||
31 | #define ROOT_STR "+" | ||
32 | #define EXPIRE_NEVER_STRING "never" | ||
33 | #define EXPIRE_INVALID_STRING "invalid" | ||
34 | |||
35 | enum TREESTORE_COLUMNS | 29 | enum TREESTORE_COLUMNS |
36 | { | 30 | { |
37 | TREE_COL_NAME = 0, | 31 | TREE_COL_NAME = 0, |
@@ -229,19 +223,30 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path) | |||
229 | if (GNUNET_YES == append_pseu) | 223 | if (GNUNET_YES == append_pseu) |
230 | { | 224 | { |
231 | GNUNET_assert (children == (records -1)); | 225 | GNUNET_assert (children == (records -1)); |
226 | |||
232 | /* Append PSEU record */ | 227 | /* Append PSEU record */ |
233 | GtkEntry * entry = GTK_ENTRY (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_pseu_entry")); | 228 | GtkEntry * entry = GTK_ENTRY (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_pseu_entry")); |
234 | pseu = gtk_entry_get_text (GTK_ENTRY(entry)); | 229 | pseu = gtk_entry_get_text (GTK_ENTRY(entry)); |
235 | if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU, pseu, (void **) &rd[records - 1].data, &rd[records - 1].data_size)) | 230 | if ((NULL != pseu) && (0 != strcmp (PSEU_EMPTY_STR, pseu)) && (0 != strcmp ("", pseu))) |
231 | { | ||
232 | if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value(GNUNET_NAMESTORE_TYPE_PSEU, | ||
233 | pseu, | ||
234 | (void **) &rd[records - 1].data, | ||
235 | &rd[records - 1].data_size)) | ||
236 | { | ||
237 | GNUNET_break (0); | ||
238 | for (c = 0; c < records; c++) | ||
239 | GNUNET_free_non_null ((void *) rd[c].data); | ||
240 | GNUNET_free_non_null (rd); | ||
241 | } | ||
242 | rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU; | ||
243 | rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever(); | ||
244 | rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE; | ||
245 | } | ||
246 | else | ||
236 | { | 247 | { |
237 | GNUNET_break (0); | 248 | GNUNET_break (0); |
238 | for (c = 0; c < records; c++) | ||
239 | GNUNET_free_non_null ((void *) rd[c].data); | ||
240 | GNUNET_free_non_null (rd); | ||
241 | } | 249 | } |
242 | rd[records - 1].record_type = GNUNET_NAMESTORE_TYPE_PSEU; | ||
243 | rd[records - 1].expiration = GNUNET_TIME_absolute_get_forever(); | ||
244 | rd[records - 1].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE; | ||
245 | } | 250 | } |
246 | 251 | ||
247 | /* Remove old entries */ | 252 | /* Remove old entries */ |
@@ -995,7 +1000,7 @@ zone_iteration_proc (void *cls, | |||
995 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Zone `%s 'iteration done\n", &shenc); | 1000 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Zone `%s 'iteration done\n", &shenc); |
996 | pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry"))); | 1001 | pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry"))); |
997 | if (zc_ctx->label == NULL) | 1002 | if (zc_ctx->label == NULL) |
998 | GNUNET_asprintf(&zc_ctx->label, "%s", EXPIRE_INVALID_STRING); | 1003 | GNUNET_asprintf(&zc_ctx->label, "%s", PSEU_EMPTY_STR); |
999 | gtk_entry_set_text (pseu_entry, zc_ctx->label); | 1004 | gtk_entry_set_text (pseu_entry, zc_ctx->label); |
1000 | zc_ctx->gns->iteration = GNUNET_NO; | 1005 | zc_ctx->gns->iteration = GNUNET_NO; |
1001 | GNUNET_free (zc_ctx->label); | 1006 | GNUNET_free (zc_ctx->label); |