diff options
Diffstat (limited to 'src/escrow/escrow_plugin_helper.c')
-rw-r--r-- | src/escrow/escrow_plugin_helper.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/escrow/escrow_plugin_helper.c b/src/escrow/escrow_plugin_helper.c index 05c5be90b..afbbd409a 100644 --- a/src/escrow/escrow_plugin_helper.c +++ b/src/escrow/escrow_plugin_helper.c | |||
@@ -79,7 +79,7 @@ ESCROW_list_ego (void *cls, | |||
79 | { | 79 | { |
80 | ph->state = ESCROW_PLUGIN_STATE_POST_INIT; | 80 | ph->state = ESCROW_PLUGIN_STATE_POST_INIT; |
81 | /* call IdentityInitContinuation */ | 81 | /* call IdentityInitContinuation */ |
82 | ph->cont (); | 82 | ph->id_init_cont (); |
83 | return; | 83 | return; |
84 | } | 84 | } |
85 | GNUNET_assert (NULL != ego); | 85 | GNUNET_assert (NULL != ego); |
@@ -107,6 +107,11 @@ ESCROW_list_ego (void *cls, | |||
107 | /* Rename */ | 107 | /* Rename */ |
108 | GNUNET_free (ego_entry->identifier); | 108 | GNUNET_free (ego_entry->identifier); |
109 | ego_entry->identifier = GNUNET_strdup (identifier); | 109 | ego_entry->identifier = GNUNET_strdup (identifier); |
110 | /* TODO: this handles an edge case when the user restores an ego | ||
111 | that already exists. In that case, @param ego is the same for the | ||
112 | new as for the existing ego and this method thinks it is a rename. */ | ||
113 | if (NULL != ph->ego_create_cont) | ||
114 | ph->ego_create_cont (ego); | ||
110 | break; | 115 | break; |
111 | } | 116 | } |
112 | } | 117 | } |
@@ -121,6 +126,10 @@ ESCROW_list_ego (void *cls, | |||
121 | GNUNET_CONTAINER_DLL_insert_tail (ph->ego_head, | 126 | GNUNET_CONTAINER_DLL_insert_tail (ph->ego_head, |
122 | ph->ego_tail, | 127 | ph->ego_tail, |
123 | ego_entry); | 128 | ego_entry); |
129 | /* new ego is added to the list, call ego_create_cont if this was | ||
130 | because of an ESCROW_get operation, i.e. ego_create_cont != NULL */ | ||
131 | if (NULL != ph->ego_create_cont) | ||
132 | ph->ego_create_cont (ego); | ||
124 | } | 133 | } |
125 | } | 134 | } |
126 | else | 135 | else |