diff options
| author | 2025-07-27 04:08:37 +0200 | |
|---|---|---|
| committer | 2025-07-27 04:08:37 +0200 | |
| commit | 2e982c79e1385b568d407f6e45f2b062761dec12 (patch) | |
| tree | c5a82fd2123e4deb3072d894b0c5799391c10402 | |
| parent | Updated RELEASE_NOTES. (diff) | |
| download | penes-snac2-2e982c79e1385b568d407f6e45f2b062761dec12.tar.gz penes-snac2-2e982c79e1385b568d407f6e45f2b062761dec12.tar.xz penes-snac2-2e982c79e1385b568d407f6e45f2b062761dec12.zip | |
mastoapi: Fixed metadata in verify_credentials.
| -rw-r--r-- | mastoapi.c | 27 |
1 files changed, 25 insertions, 2 deletions
| @@ -1271,8 +1271,31 @@ void credentials_get(char **body, char **ctype, int *status, snac snac) | |||
| 1271 | acct = xs_dict_append(acct, "header", header); | 1271 | acct = xs_dict_append(acct, "header", header); |
| 1272 | acct = xs_dict_append(acct, "header_static", header); | 1272 | acct = xs_dict_append(acct, "header_static", header); |
| 1273 | 1273 | ||
| 1274 | const xs_dict *metadata = xs_dict_get(snac.config, "metadata"); | 1274 | xs *metadata = NULL; |
| 1275 | if (xs_type(metadata) == XSTYPE_DICT) { | 1275 | const xs_dict *md = xs_dict_get(snac.config, "metadata"); |
| 1276 | |||
| 1277 | if (xs_is_dict(md)) | ||
| 1278 | metadata = xs_dup(md); | ||
| 1279 | else | ||
| 1280 | if (xs_is_string(md)) { | ||
| 1281 | metadata = xs_dict_new(); | ||
| 1282 | xs *l = xs_split(md, "\n"); | ||
| 1283 | const char *ll; | ||
| 1284 | |||
| 1285 | xs_list_foreach(l, ll) { | ||
| 1286 | xs *kv = xs_split_n(ll, "=", 1); | ||
| 1287 | const char *k = xs_list_get(kv, 0); | ||
| 1288 | const char *v = xs_list_get(kv, 1); | ||
| 1289 | |||
| 1290 | if (k && v) { | ||
| 1291 | xs *kk = xs_strip_i(xs_dup(k)); | ||
| 1292 | xs *vv = xs_strip_i(xs_dup(v)); | ||
| 1293 | metadata = xs_dict_set(metadata, kk, vv); | ||
| 1294 | } | ||
| 1295 | } | ||
| 1296 | } | ||
| 1297 | |||
| 1298 | if (xs_is_dict(metadata)) { | ||
| 1276 | xs *fields = xs_list_new(); | 1299 | xs *fields = xs_list_new(); |
| 1277 | const xs_str *k; | 1300 | const xs_str *k; |
| 1278 | const xs_str *v; | 1301 | const xs_str *v; |