aboutsummaryrefslogtreecommitdiff
path: root/src/gns/gnunet-gns-gtk_zone.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gns/gnunet-gns-gtk_zone.c')
-rw-r--r--src/gns/gnunet-gns-gtk_zone.c35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c
index cbcbfaa8..731a2ee6 100644
--- a/src/gns/gnunet-gns-gtk_zone.c
+++ b/src/gns/gnunet-gns-gtk_zone.c
@@ -74,6 +74,7 @@ check_name_validity_and_commit_remove_proc (void *cls,
74 { 74 {
75 for (c = 0; c < uc->rd_count; c++) 75 for (c = 0; c < uc->rd_count; c++)
76 { 76 {
77 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "New text for is `%s'\n", uc->rd[c].data);
77 GNUNET_NAMESTORE_record_create(uc->gns->ns, uc->gns->pkey, 78 GNUNET_NAMESTORE_record_create(uc->gns->ns, uc->gns->pkey,
78 uc->name, &uc->rd[c],NULL, NULL); 79 uc->name, &uc->rd[c],NULL, NULL);
79 GNUNET_free ((void *) uc->rd[c].data); 80 GNUNET_free ((void *) uc->rd[c].data);
@@ -106,6 +107,8 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path)
106 int c; 107 int c;
107 int valid = GNUNET_YES; 108 int valid = GNUNET_YES;
108 char * name; 109 char * name;
110 void * data;
111 size_t data_size;
109 112
110 char *n_name; 113 char *n_name;
111 int n_type; 114 int n_type;
@@ -173,6 +176,11 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path)
173 /* valid value */ 176 /* valid value */
174 if ((n_value_color != NULL) || (NULL == n_value)) 177 if ((n_value_color != NULL) || (NULL == n_value))
175 valid = GNUNET_NO; 178 valid = GNUNET_NO;
179 if (NULL != n_value)
180 {
181 if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value(n_type, n_value, &data, &data_size))
182 valid = GNUNET_NO;
183 }
176 184
177 if (GNUNET_YES == valid) 185 if (GNUNET_YES == valid)
178 { 186 {
@@ -182,9 +190,9 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path)
182 rd[c].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE; 190 rd[c].flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE;
183 rd[c].record_type = n_type; 191 rd[c].record_type = n_type;
184 rd[c].expiration.abs_value = n_exp_time; 192 rd[c].expiration.abs_value = n_exp_time;
185 rd[c].data_size = strlen (n_value) + 1; 193 rd[c].data_size = data_size;
186 rd[c].data = GNUNET_malloc(rd[c].data_size); 194 rd[c].data = GNUNET_malloc(data_size);
187 memcpy ((void *) rd[c].data, n_value, rd[c].data_size); 195 memcpy ((void *) rd[c].data, data, data_size);
188 } 196 }
189 g_free (n_name); 197 g_free (n_name);
190 g_free (n_exp_color); 198 g_free (n_exp_color);
@@ -370,8 +378,8 @@ GNUNET_GNS_GTK_type_cellrenderercombo_changed_cb (GtkCellRendererCombo *combo,
370 void *data; 378 void *data;
371 size_t data_size; 379 size_t data_size;
372 380
373 gtk_tree_model_get(gns->tm, new_iter, 0, &type, -1); 381 gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, 0, &type, -1);
374 gtk_tree_model_get(gns->tm, new_iter, TYPE_LIST_TYPENAME, &type_str, -1); 382 gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, TYPE_LIST_TYPENAME, &type_str, -1);
375 383
376 384
377 /* check if this is a new record */ 385 /* check if this is a new record */
@@ -651,6 +659,7 @@ GNUNET_GNS_GTK_value_cellrenderertext_edited_cb (GtkCellRendererText *renderer,
651 { 659 {
652 gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1); 660 gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1);
653 gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); 661 gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1);
662 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "New text for `%s' is `%s'\n", path, new_text);
654 check_name_validity_and_commit (gns, path); 663 check_name_validity_and_commit (gns, path);
655 } 664 }
656 else 665 else
@@ -915,6 +924,8 @@ void zone_iteration_proc (void *cls,
915 char *val; 924 char *val;
916 int public; 925 int public;
917 guint64 exp_t; 926 guint64 exp_t;
927GNUNET_break(0);
928GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Zone `%s'\n", name);
918 929
919 GNUNET_assert (zc_ctx != NULL); 930 GNUNET_assert (zc_ctx != NULL);
920 if ((NULL == zone_key) && (NULL == name)) 931 if ((NULL == zone_key) && (NULL == name))
@@ -936,7 +947,7 @@ void zone_iteration_proc (void *cls,
936 { 947 {
937 pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry"))); 948 pseu_entry = GTK_ENTRY((gtk_builder_get_object (zc_ctx->gns->builder, "GNUNET_GNS_GTK_pseu_entry")));
938 GNUNET_assert (pseu_entry != NULL); 949 GNUNET_assert (pseu_entry != NULL);
939 if ((rd == NULL) || (rd_count == 0)) 950 if ((rd == NULL) || (rd_count != 1))
940 { 951 {
941 GNUNET_break (0); 952 GNUNET_break (0);
942 return; 953 return;
@@ -947,12 +958,11 @@ void zone_iteration_proc (void *cls,
947 return; 958 return;
948 } 959 }
949 960
950 if (((char *)rd->data)[rd->data_size-1] != '\0') 961 val = GNUNET_NAMESTORE_value_to_string (rd[0].record_type,
951 { 962 rd[0].data,
952 GNUNET_break(0); 963 rd[0].data_size);
953 return; 964 gtk_entry_set_text (pseu_entry, val);
954 } 965 GNUNET_free (val);
955 gtk_entry_set_text (pseu_entry, (char *)rd[0].data);
956 GNUNET_NAMESTORE_zone_iterator_next(zc_ctx->it); 966 GNUNET_NAMESTORE_zone_iterator_next(zc_ctx->it);
957 return; 967 return;
958 } 968 }
@@ -1022,6 +1032,7 @@ void zone_iteration_proc (void *cls,
1022 TREE_COL_NOT_DUMMY_ROW, GNUNET_YES, 1032 TREE_COL_NOT_DUMMY_ROW, GNUNET_YES,
1023 -1); 1033 -1);
1024 GNUNET_free (exp); 1034 GNUNET_free (exp);
1035 GNUNET_free_non_null (val);
1025 } 1036 }
1026 1037
1027 GNUNET_NAMESTORE_zone_iterator_next(zc_ctx->it); 1038 GNUNET_NAMESTORE_zone_iterator_next(zc_ctx->it);