diff options
author | bug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-12-19 10:37:52 +0000 |
---|---|---|
committer | bug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2003-12-19 10:37:52 +0000 |
commit | c9116d12f1bf8254bc642019ce66e480b3b2b24e (patch) | |
tree | 12e72ddce6c6d4aa3f98c02a84176d40486482c3 | |
parent | eb6d922f6275f05c639df544619aa9791cb3b077 (diff) | |
download | busybox-w32-c9116d12f1bf8254bc642019ce66e480b3b2b24e.tar.gz busybox-w32-c9116d12f1bf8254bc642019ce66e480b3b2b24e.tar.bz2 busybox-w32-c9116d12f1bf8254bc642019ce66e480b3b2b24e.zip |
Use getopt_ulflags
git-svn-id: svn://busybox.net/trunk/busybox@8121 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | networking/ftpgetput.c | 54 |
1 files changed, 23 insertions, 31 deletions
diff --git a/networking/ftpgetput.c b/networking/ftpgetput.c index 2fd50e4c4..8724739b5 100644 --- a/networking/ftpgetput.c +++ b/networking/ftpgetput.c | |||
@@ -287,11 +287,25 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream, | |||
287 | } | 287 | } |
288 | #endif | 288 | #endif |
289 | 289 | ||
290 | #define FTPGETPUT_OPT_CONTINUE 1 | ||
291 | #define FTPGETPUT_OPT_VERBOSE 2 | ||
292 | #define FTPGETPUT_OPT_USER 4 | ||
293 | #define FTPGETPUT_OPT_PASSWORD 8 | ||
294 | #define FTPGETPUT_OPT_PORT 16 | ||
295 | |||
296 | static const struct option ftpgetput_long_options[] = { | ||
297 | {"continue", 1, NULL, 'c'}, | ||
298 | {"verbose", 0, NULL, 'v'}, | ||
299 | {"username", 1, NULL, 'u'}, | ||
300 | {"password", 1, NULL, 'p'}, | ||
301 | {"port", 1, NULL, 'P'}, | ||
302 | {0, 0, 0, 0} | ||
303 | }; | ||
304 | |||
290 | int ftpgetput_main(int argc, char **argv) | 305 | int ftpgetput_main(int argc, char **argv) |
291 | { | 306 | { |
292 | /* content-length of the file */ | 307 | /* content-length of the file */ |
293 | int option_index = -1; | 308 | unsigned long opt; |
294 | int opt; | ||
295 | 309 | ||
296 | /* socket to ftp server */ | 310 | /* socket to ftp server */ |
297 | FILE *control_stream; | 311 | FILE *control_stream; |
@@ -302,15 +316,6 @@ int ftpgetput_main(int argc, char **argv) | |||
302 | 316 | ||
303 | int (*ftp_action)(ftp_host_info_t *, FILE *, const char *, char *) = NULL; | 317 | int (*ftp_action)(ftp_host_info_t *, FILE *, const char *, char *) = NULL; |
304 | 318 | ||
305 | struct option long_options[] = { | ||
306 | {"username", 1, NULL, 'u'}, | ||
307 | {"password", 1, NULL, 'p'}, | ||
308 | {"port", 1, NULL, 'P'}, | ||
309 | {"continue", 1, NULL, 'c'}, | ||
310 | {"verbose", 0, NULL, 'v'}, | ||
311 | {0, 0, 0, 0} | ||
312 | }; | ||
313 | |||
314 | #ifdef CONFIG_FTPPUT | 319 | #ifdef CONFIG_FTPPUT |
315 | if (bb_applet_name[3] == 'p') { | 320 | if (bb_applet_name[3] == 'p') { |
316 | ftp_action = ftp_send; | 321 | ftp_action = ftp_send; |
@@ -330,26 +335,13 @@ int ftpgetput_main(int argc, char **argv) | |||
330 | * Decipher the command line | 335 | * Decipher the command line |
331 | */ | 336 | */ |
332 | server->port = "21"; | 337 | server->port = "21"; |
333 | while ((opt = getopt_long(argc, argv, "u:p:P:cv", long_options, &option_index)) != EOF) { | 338 | bb_applet_long_options = ftpgetput_long_options; |
334 | switch(opt) { | 339 | opt = bb_getopt_ulflags(argc, argv, "cvu:p:P:", &server->user, &server->password, &server->port); |
335 | case 'c': | 340 | if (opt & FTPGETPUT_OPT_CONTINUE) { |
336 | do_continue = 1; | 341 | do_continue = 1; |
337 | break; | 342 | } |
338 | case 'u': | 343 | if (opt & FTPGETPUT_OPT_VERBOSE) { |
339 | server->user = optarg; | 344 | verbose_flag = 1; |
340 | break; | ||
341 | case 'p': | ||
342 | server->password = optarg; | ||
343 | break; | ||
344 | case 'P': | ||
345 | server->port = optarg; | ||
346 | break; | ||
347 | case 'v': | ||
348 | verbose_flag = 1; | ||
349 | break; | ||
350 | default: | ||
351 | bb_show_usage(); | ||
352 | } | ||
353 | } | 345 | } |
354 | 346 | ||
355 | /* | 347 | /* |