diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-10-05 15:09:28 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-10-05 15:09:28 +0200 |
commit | c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207 (patch) | |
tree | cac3ce030d77b4cbe7c7dc62ed58cfe6d24f73e1 /src/fs/fs_getopt.c | |
parent | fbb71d527c7d6babf269a8fefce1db291b9f7068 (diff) | |
download | gnunet-c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207.tar.gz gnunet-c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207.zip |
global reindent, now with uncrustify hook enabled
Diffstat (limited to 'src/fs/fs_getopt.c')
-rw-r--r-- | src/fs/fs_getopt.c | 235 |
1 files changed, 118 insertions, 117 deletions
diff --git a/src/fs/fs_getopt.c b/src/fs/fs_getopt.c index 4f53f64a5..84c1f6123 100644 --- a/src/fs/fs_getopt.c +++ b/src/fs/fs_getopt.c | |||
@@ -43,10 +43,10 @@ | |||
43 | * @return #GNUNET_OK on success | 43 | * @return #GNUNET_OK on success |
44 | */ | 44 | */ |
45 | static int | 45 | static int |
46 | getopt_set_keywords(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | 46 | getopt_set_keywords (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, |
47 | void *scls, | 47 | void *scls, |
48 | const char *option, | 48 | const char *option, |
49 | const char *value) | 49 | const char *value) |
50 | { | 50 | { |
51 | struct GNUNET_FS_Uri **uri = scls; | 51 | struct GNUNET_FS_Uri **uri = scls; |
52 | struct GNUNET_FS_Uri *u = *uri; | 52 | struct GNUNET_FS_Uri *u = *uri; |
@@ -54,64 +54,64 @@ getopt_set_keywords(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | |||
54 | size_t slen; | 54 | size_t slen; |
55 | 55 | ||
56 | if (NULL == u) | 56 | if (NULL == u) |
57 | { | 57 | { |
58 | u = GNUNET_new(struct GNUNET_FS_Uri); | 58 | u = GNUNET_new (struct GNUNET_FS_Uri); |
59 | *uri = u; | 59 | *uri = u; |
60 | u->type = GNUNET_FS_URI_KSK; | 60 | u->type = GNUNET_FS_URI_KSK; |
61 | u->data.ksk.keywordCount = 0; | 61 | u->data.ksk.keywordCount = 0; |
62 | u->data.ksk.keywords = NULL; | 62 | u->data.ksk.keywords = NULL; |
63 | } | 63 | } |
64 | else | 64 | else |
65 | { | 65 | { |
66 | GNUNET_assert(GNUNET_FS_URI_KSK == u->type); | 66 | GNUNET_assert (GNUNET_FS_URI_KSK == u->type); |
67 | } | 67 | } |
68 | slen = strlen(value); | 68 | slen = strlen (value); |
69 | if (0 == slen) | 69 | if (0 == slen) |
70 | return GNUNET_SYSERR; /* cannot be empty */ | 70 | return GNUNET_SYSERR; /* cannot be empty */ |
71 | if (value[0] == '+') | 71 | if (value[0] == '+') |
72 | { | ||
73 | /* simply preserve the "mandatory" flag */ | ||
74 | if (slen < 2) | ||
75 | return GNUNET_SYSERR; /* empty keywords not allowed */ | ||
76 | if ((value[1] == '"') && (slen > 3) && (value[slen - 1] == '"')) | ||
72 | { | 77 | { |
73 | /* simply preserve the "mandatory" flag */ | 78 | /* remove the quotes, keep the '+' */ |
74 | if (slen < 2) | 79 | val = GNUNET_malloc (slen - 1); |
75 | return GNUNET_SYSERR; /* empty keywords not allowed */ | 80 | val[0] = '+'; |
76 | if ((value[1] == '"') && (slen > 3) && (value[slen - 1] == '"')) | 81 | GNUNET_memcpy (&val[1], |
77 | { | 82 | &value[2], |
78 | /* remove the quotes, keep the '+' */ | 83 | slen - 3); |
79 | val = GNUNET_malloc(slen - 1); | 84 | val[slen - 2] = '\0'; |
80 | val[0] = '+'; | ||
81 | GNUNET_memcpy(&val[1], | ||
82 | &value[2], | ||
83 | slen - 3); | ||
84 | val[slen - 2] = '\0'; | ||
85 | } | ||
86 | else | ||
87 | { | ||
88 | /* no quotes, just keep the '+' */ | ||
89 | val = GNUNET_strdup(value); | ||
90 | } | ||
91 | } | 85 | } |
86 | else | ||
87 | { | ||
88 | /* no quotes, just keep the '+' */ | ||
89 | val = GNUNET_strdup (value); | ||
90 | } | ||
91 | } | ||
92 | else | 92 | else |
93 | { | ||
94 | if ((value[0] == '"') && (slen > 2) && (value[slen - 1] == '"')) | ||
95 | { | ||
96 | /* remove the quotes, add a space */ | ||
97 | val = GNUNET_malloc (slen); | ||
98 | val[0] = ' '; | ||
99 | GNUNET_memcpy (&val[1], | ||
100 | &value[1], | ||
101 | slen - 2); | ||
102 | val[slen - 1] = '\0'; | ||
103 | } | ||
104 | else | ||
93 | { | 105 | { |
94 | if ((value[0] == '"') && (slen > 2) && (value[slen - 1] == '"')) | 106 | /* add a space to indicate "not mandatory" */ |
95 | { | 107 | val = GNUNET_malloc (slen + 2); |
96 | /* remove the quotes, add a space */ | 108 | strcpy (val, " "); |
97 | val = GNUNET_malloc(slen); | 109 | strcat (val, value); |
98 | val[0] = ' '; | ||
99 | GNUNET_memcpy(&val[1], | ||
100 | &value[1], | ||
101 | slen - 2); | ||
102 | val[slen - 1] = '\0'; | ||
103 | } | ||
104 | else | ||
105 | { | ||
106 | /* add a space to indicate "not mandatory" */ | ||
107 | val = GNUNET_malloc(slen + 2); | ||
108 | strcpy(val, " "); | ||
109 | strcat(val, value); | ||
110 | } | ||
111 | } | 110 | } |
112 | GNUNET_array_append(u->data.ksk.keywords, | 111 | } |
113 | u->data.ksk.keywordCount, | 112 | GNUNET_array_append (u->data.ksk.keywords, |
114 | val); | 113 | u->data.ksk.keywordCount, |
114 | val); | ||
115 | return GNUNET_OK; | 115 | return GNUNET_OK; |
116 | } | 116 | } |
117 | 117 | ||
@@ -126,11 +126,11 @@ getopt_set_keywords(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | |||
126 | * @param[out] topKeywords set to the desired value | 126 | * @param[out] topKeywords set to the desired value |
127 | */ | 127 | */ |
128 | struct GNUNET_GETOPT_CommandLineOption | 128 | struct GNUNET_GETOPT_CommandLineOption |
129 | GNUNET_FS_GETOPT_KEYWORDS(char shortName, | 129 | GNUNET_FS_GETOPT_KEYWORDS (char shortName, |
130 | const char *name, | 130 | const char *name, |
131 | const char *argumentHelp, | 131 | const char *argumentHelp, |
132 | const char *description, | 132 | const char *description, |
133 | struct GNUNET_FS_Uri **topKeywords) | 133 | struct GNUNET_FS_Uri **topKeywords) |
134 | { | 134 | { |
135 | struct GNUNET_GETOPT_CommandLineOption clo = { | 135 | struct GNUNET_GETOPT_CommandLineOption clo = { |
136 | .shortName = shortName, | 136 | .shortName = shortName, |
@@ -139,7 +139,7 @@ GNUNET_FS_GETOPT_KEYWORDS(char shortName, | |||
139 | .description = description, | 139 | .description = description, |
140 | .require_argument = 1, | 140 | .require_argument = 1, |
141 | .processor = &getopt_set_keywords, | 141 | .processor = &getopt_set_keywords, |
142 | .scls = (void *)topKeywords | 142 | .scls = (void *) topKeywords |
143 | }; | 143 | }; |
144 | 144 | ||
145 | return clo; | 145 | return clo; |
@@ -159,10 +159,10 @@ GNUNET_FS_GETOPT_KEYWORDS(char shortName, | |||
159 | * @return #GNUNET_OK on success | 159 | * @return #GNUNET_OK on success |
160 | */ | 160 | */ |
161 | static int | 161 | static int |
162 | getopt_set_metadata(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | 162 | getopt_set_metadata (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, |
163 | void *scls, | 163 | void *scls, |
164 | const char *option, | 164 | const char *option, |
165 | const char *value) | 165 | const char *value) |
166 | { | 166 | { |
167 | struct GNUNET_CONTAINER_MetaData **mm = scls; | 167 | struct GNUNET_CONTAINER_MetaData **mm = scls; |
168 | 168 | ||
@@ -176,66 +176,67 @@ getopt_set_metadata(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | |||
176 | 176 | ||
177 | meta = *mm; | 177 | meta = *mm; |
178 | if (meta == NULL) | 178 | if (meta == NULL) |
179 | { | 179 | { |
180 | meta = GNUNET_CONTAINER_meta_data_create(); | 180 | meta = GNUNET_CONTAINER_meta_data_create (); |
181 | *mm = meta; | 181 | *mm = meta; |
182 | } | 182 | } |
183 | 183 | ||
184 | /* Use GNUNET_STRINGS_get_utf8_args() in main() to acquire utf-8-encoded | 184 | /* Use GNUNET_STRINGS_get_utf8_args() in main() to acquire utf-8-encoded |
185 | * commandline arguments, so that the following line is not needed. | 185 | * commandline arguments, so that the following line is not needed. |
186 | */ | 186 | */ |
187 | /*tmp = GNUNET_STRINGS_to_utf8 (value, strlen (value), locale_charset ());*/ | 187 | /*tmp = GNUNET_STRINGS_to_utf8 (value, strlen (value), locale_charset ());*/ |
188 | tmp = GNUNET_strdup(value); | 188 | tmp = GNUNET_strdup (value); |
189 | #if HAVE_EXTRACTOR_H && HAVE_LIBEXTRACTOR | 189 | #if HAVE_EXTRACTOR_H && HAVE_LIBEXTRACTOR |
190 | type = EXTRACTOR_metatype_get_max(); | 190 | type = EXTRACTOR_metatype_get_max (); |
191 | while (type > 0) | 191 | while (type > 0) |
192 | { | ||
193 | type--; | ||
194 | typename = EXTRACTOR_metatype_to_string (type); | ||
195 | typename_i18n = dgettext (LIBEXTRACTOR_GETTEXT_DOMAIN, typename); | ||
196 | if ((strlen (tmp) >= strlen (typename) + 1) && | ||
197 | (tmp[strlen (typename)] == ':') && | ||
198 | (0 == strncmp (typename, tmp, strlen (typename)))) | ||
192 | { | 199 | { |
193 | type--; | 200 | GNUNET_CONTAINER_meta_data_insert (meta, "<gnunet>", type, |
194 | typename = EXTRACTOR_metatype_to_string(type); | 201 | EXTRACTOR_METAFORMAT_UTF8, |
195 | typename_i18n = dgettext(LIBEXTRACTOR_GETTEXT_DOMAIN, typename); | 202 | "text/plain", |
196 | if ((strlen(tmp) >= strlen(typename) + 1) && | 203 | &tmp[strlen (typename) + 1], |
197 | (tmp[strlen(typename)] == ':') && | 204 | strlen (&tmp[strlen (typename) + 1]) |
198 | (0 == strncmp(typename, tmp, strlen(typename)))) | 205 | + 1); |
199 | { | 206 | GNUNET_free (tmp); |
200 | GNUNET_CONTAINER_meta_data_insert(meta, "<gnunet>", type, | 207 | tmp = NULL; |
201 | EXTRACTOR_METAFORMAT_UTF8, | 208 | break; |
202 | "text/plain", | ||
203 | &tmp[strlen(typename) + 1], | ||
204 | strlen(&tmp[strlen(typename) + 1]) + | ||
205 | 1); | ||
206 | GNUNET_free(tmp); | ||
207 | tmp = NULL; | ||
208 | break; | ||
209 | } | ||
210 | if ((strlen(tmp) >= strlen(typename_i18n) + 1) && | ||
211 | (tmp[strlen(typename_i18n)] == ':') && | ||
212 | (0 == strncmp(typename_i18n, tmp, strlen(typename_i18n)))) | ||
213 | { | ||
214 | GNUNET_CONTAINER_meta_data_insert(meta, "<gnunet>", type, | ||
215 | EXTRACTOR_METAFORMAT_UTF8, | ||
216 | "text/plain", | ||
217 | &tmp[strlen(typename_i18n) + 1], | ||
218 | strlen(&tmp | ||
219 | [strlen(typename_i18n) + 1]) + | ||
220 | 1); | ||
221 | GNUNET_free(tmp); | ||
222 | tmp = NULL; | ||
223 | break; | ||
224 | } | ||
225 | } | 209 | } |
210 | if ((strlen (tmp) >= strlen (typename_i18n) + 1) && | ||
211 | (tmp[strlen (typename_i18n)] == ':') && | ||
212 | (0 == strncmp (typename_i18n, tmp, strlen (typename_i18n)))) | ||
213 | { | ||
214 | GNUNET_CONTAINER_meta_data_insert (meta, "<gnunet>", type, | ||
215 | EXTRACTOR_METAFORMAT_UTF8, | ||
216 | "text/plain", | ||
217 | &tmp[strlen (typename_i18n) + 1], | ||
218 | strlen (&tmp | ||
219 | [strlen (typename_i18n) + 1]) | ||
220 | + 1); | ||
221 | GNUNET_free (tmp); | ||
222 | tmp = NULL; | ||
223 | break; | ||
224 | } | ||
225 | } | ||
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | if (NULL != tmp) | 228 | if (NULL != tmp) |
229 | { | 229 | { |
230 | GNUNET_CONTAINER_meta_data_insert(meta, "<gnunet>", | 230 | GNUNET_CONTAINER_meta_data_insert (meta, "<gnunet>", |
231 | EXTRACTOR_METATYPE_UNKNOWN, | 231 | EXTRACTOR_METATYPE_UNKNOWN, |
232 | EXTRACTOR_METAFORMAT_UTF8, "text/plain", | 232 | EXTRACTOR_METAFORMAT_UTF8, "text/plain", |
233 | tmp, strlen(tmp) + 1); | 233 | tmp, strlen (tmp) + 1); |
234 | GNUNET_free(tmp); | 234 | GNUNET_free (tmp); |
235 | printf(_ | 235 | printf (_ |
236 | ("Unknown metadata type in metadata option `%s'. Using metadata type `unknown' instead.\n"), | 236 | ( |
237 | value); | 237 | "Unknown metadata type in metadata option `%s'. Using metadata type `unknown' instead.\n"), |
238 | } | 238 | value); |
239 | } | ||
239 | return GNUNET_OK; | 240 | return GNUNET_OK; |
240 | } | 241 | } |
241 | 242 | ||
@@ -249,11 +250,11 @@ getopt_set_metadata(struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | |||
249 | * @param[out] metadata set to the desired value | 250 | * @param[out] metadata set to the desired value |
250 | */ | 251 | */ |
251 | struct GNUNET_GETOPT_CommandLineOption | 252 | struct GNUNET_GETOPT_CommandLineOption |
252 | GNUNET_FS_GETOPT_METADATA(char shortName, | 253 | GNUNET_FS_GETOPT_METADATA (char shortName, |
253 | const char *name, | 254 | const char *name, |
254 | const char *argumentHelp, | 255 | const char *argumentHelp, |
255 | const char *description, | 256 | const char *description, |
256 | struct GNUNET_CONTAINER_MetaData **meta) | 257 | struct GNUNET_CONTAINER_MetaData **meta) |
257 | { | 258 | { |
258 | struct GNUNET_GETOPT_CommandLineOption clo = { | 259 | struct GNUNET_GETOPT_CommandLineOption clo = { |
259 | .shortName = shortName, | 260 | .shortName = shortName, |
@@ -262,7 +263,7 @@ GNUNET_FS_GETOPT_METADATA(char shortName, | |||
262 | .description = description, | 263 | .description = description, |
263 | .require_argument = 1, | 264 | .require_argument = 1, |
264 | .processor = &getopt_set_metadata, | 265 | .processor = &getopt_set_metadata, |
265 | .scls = (void *)meta | 266 | .scls = (void *) meta |
266 | }; | 267 | }; |
267 | 268 | ||
268 | return clo; | 269 | return clo; |