Sfoglia il codice sorgente

Use webfinger_request_fake() in export_csv().

default 1 anno fa
parent
commit
836b66358d
2 ha cambiato i file con 11 aggiunte e 20 eliminazioni
  1. 6 17
      utils.c
  2. 5 3
      webfinger.c

+ 6 - 17
utils.c

@@ -605,13 +605,9 @@ void export_csv(snac *user)
 
         xs_list_foreach(l, actor) {
             xs *uid = NULL;
-            int status;
 
-            if (valid_status((status = webfinger_request(actor, NULL, &uid)))) {
-                fprintf(f, "%s\n", uid);
-            }
-            else
-                snac_log(user, xs_fmt("Error resolving muted user %s %d", actor, status));
+            webfinger_request_fake(actor, NULL, &uid);
+            fprintf(f, "%s\n", uid);
         }
 
         fclose(f);
@@ -639,12 +635,9 @@ void export_csv(snac *user)
                 if (valid_status(object_get_by_md5(md5, &actor))) {
                     const char *id = xs_dict_get(actor, "id");
                     xs *uid = NULL;
-                    int status;
 
-                    if (valid_status((status = webfinger_request(id, NULL, &uid))))
-                        fprintf(f, "%s,%s\n", ltitle, uid);
-                    else
-                        snac_log(user, xs_fmt("Error resolving list member %s %d", id, status));
+                    webfinger_request_fake(id, NULL, &uid);
+                    fprintf(f, "%s,%s\n", ltitle, uid);
                 }
             }
         }
@@ -665,13 +658,9 @@ void export_csv(snac *user)
 
         xs_list_foreach(fwing, actor) {
             xs *uid = NULL;
-            int status;
 
-            if (valid_status((status = webfinger_request(actor, NULL, &uid)))) {
-                fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, 0) ? "false" : "true");
-            }
-            else
-                snac_log(user, xs_fmt("Error resolving followed account %s %d", actor, status));
+            webfinger_request_fake(actor, NULL, &uid);
+            fprintf(f, "%s,%s,false,\n", uid, limited(user, actor, 0) ? "false" : "true");
         }
 
         fclose(f);

+ 5 - 3
webfinger.c

@@ -133,9 +133,11 @@ int webfinger_request_fake(const char *qs, xs_str **actor, xs_str **user)
         if (xs_startswith(qs, "https:/") || xs_startswith(qs, "http:/")) {
             xs *l = xs_split(qs, "/");
 
-            /* i'll end up in hell for this */
-            *user = xs_fmt("%s@%s", xs_list_get(l, 2), xs_list_get(l, -1));
-            status = HTTP_STATUS_RESET_CONTENT;
+            if (xs_list_len(l) > 3) {
+                /* i'll end up in hell for this */
+                *user = xs_fmt("%s@%s", xs_list_get(l, -1), xs_list_get(l, 2));
+                status = HTTP_STATUS_RESET_CONTENT;
+            }
         }
     }