+{
+ struct GNUNET_CRYPTO_EcdsaPublicKey pk;
+ char *s;
+
+ if ( (NULL != set_ego) &&
+ (NULL != ego) &&
+ (NULL != identifier) &&
+ (0 == strcmp (identifier,
+ set_ego)) )
+ {
+ set_op = GNUNET_IDENTITY_set (sh,
+ set_subsystem,
+ ego,
+ &set_done,
+ NULL);
+ GNUNET_free (set_subsystem);
+ set_subsystem = NULL;
+ GNUNET_free (set_ego);
+ set_ego = NULL;
+ }
+ if ( (NULL == ego) &&
+ (NULL != set_ego) )
+ {
+ fprintf (stderr,
+ "Could not set ego to `%s' for subsystem `%s', ego not known\n",
+ set_ego,
+ set_subsystem);
+ GNUNET_free (set_subsystem);
+ set_subsystem = NULL;
+ GNUNET_free (set_ego);
+ set_ego = NULL;
+ }