comparison page-search.c @ 77:fe78b16c694d

pasterd: refactor json utilities
author David Demelier <markand@malikania.fr>
date Thu, 16 Mar 2023 15:05:26 +0100
parents b12491ceabfd
children 9bfe5ce3cc45
comparison
equal deleted inserted replaced
76:9643962908ab 77:fe78b16c694d
18 18
19 #include <assert.h> 19 #include <assert.h>
20 #include <string.h> 20 #include <string.h>
21 21
22 #include "database.h" 22 #include "database.h"
23 #include "json-util.h"
23 #include "page-index.h" 24 #include "page-index.h"
24 #include "page-search.h" 25 #include "page-search.h"
25 #include "page.h" 26 #include "page.h"
26 #include "paste.h" 27 #include "paste.h"
27 #include "util.h" 28 #include "util.h"
28 29
29 #include "html/search.h" 30 #include "html/search.h"
30 31
31 static inline json_t * 32 static inline json_t *
32 create_languages(void)
33 {
34 json_t *array = json_array();
35
36 for (size_t i = 0; i < languagesz; ++i)
37 json_array_append_new(array, json_pack("{ss}", "value", languages[i]));
38
39 return array;
40 }
41
42 static inline json_t *
43 create_root(void) 33 create_root(void)
44 { 34 {
45 return json_pack("{ss so}", 35 return json_pack("{ss so}",
46 "pagetitle", "paster -- search", 36 "pagetitle", "paster -- search",
47 "languages", create_languages() 37 "languages", ju_languages(NULL)
48 ); 38 );
49 } 39 }
50 40
51 static void 41 static void
52 get(struct kreq *req) 42 get(struct kreq *req)