default 3 роки тому
батько
коміт
3e1944abbf
1 змінених файлів з 5 додано та 4 видалено
  1. 5 4
      mastoapi.c

+ 5 - 4
mastoapi.c

@@ -500,23 +500,24 @@ xs_str *mastoapi_id(const xs_dict *msg)
 xs_dict *mastoapi_account(const xs_dict *actor)
 /* converts an ActivityPub actor to a Mastodon account */
 {
-    xs_dict *acct = xs_dict_new();
+    xs_dict *acct     = xs_dict_new();
+    const char *prefu = xs_dict_get(actor, "preferredUsername");
 
     const char *display_name = xs_dict_get(actor, "name");
     if (xs_is_null(display_name) || *display_name == '\0')
-        display_name = xs_dict_get(actor, "preferredUsername");
+        display_name = prefu;
 
     const char *id  = xs_dict_get(actor, "id");
     const char *pub = xs_dict_get(actor, "published");
     xs *acct_md5 = xs_md5_hex(id, strlen(id));
     acct = xs_dict_append(acct, "id",           acct_md5);
-    acct = xs_dict_append(acct, "username",     xs_dict_get(actor, "preferredUsername"));
+    acct = xs_dict_append(acct, "username",     prefu);
     acct = xs_dict_append(acct, "display_name", display_name);
 
     {
         /* create the acct field as user@host */
         xs *l     = xs_split(id, "/");
-        xs *fquid = xs_fmt("%s@%s", xs_dict_get(actor, "preferredUsername"), xs_list_get(l, 2));
+        xs *fquid = xs_fmt("%s@%s", prefu, xs_list_get(l, 2));
         acct      = xs_dict_append(acct, "acct", fquid);
     }