diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2005-03-04 01:33:17 +0000 |
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2005-03-04 01:33:17 +0000 |
| commit | dcc40b7ecc582e5c613276f0a92b942bead8ccd6 (patch) | |
| tree | a78b573197933a69b70adbe6225d9feffae96316 /shell | |
| parent | 9b9e5479e84a49df631c92192d76770ea016bb3e (diff) | |
| download | busybox-w32-dcc40b7ecc582e5c613276f0a92b942bead8ccd6.tar.gz busybox-w32-dcc40b7ecc582e5c613276f0a92b942bead8ccd6.tar.bz2 busybox-w32-dcc40b7ecc582e5c613276f0a92b942bead8ccd6.zip | |
Shaun Jackman writes: Newlib uses both __getopt_initialized and optind to track initialization of getopt()
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/lash.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/shell/lash.c b/shell/lash.c index f454e6990..c4655acd8 100644 --- a/shell/lash.c +++ b/shell/lash.c | |||
| @@ -1277,11 +1277,17 @@ static int pseudo_exec(struct child_prog *child) | |||
| 1277 | name = child->argv[0]; | 1277 | name = child->argv[0]; |
| 1278 | 1278 | ||
| 1279 | { | 1279 | { |
| 1280 | char** argv_l=child->argv; | 1280 | char** argv_l=child->argv; |
| 1281 | int argc_l; | 1281 | int argc_l; |
| 1282 | for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++); | 1282 | #ifdef _NEWLIB_VERSION |
| 1283 | optind = 1; | 1283 | /* newlib uses __getopt_initialized for getopt() in |
| 1284 | run_applet_by_name(name, argc_l, child->argv); | 1284 | * addition to optind, see newlib/libc/sys/linux/getopt.c |
| 1285 | */ | ||
| 1286 | extern int __getopt_initialized = 0; | ||
| 1287 | #endif | ||
| 1288 | for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++); | ||
| 1289 | optind = 1; | ||
| 1290 | run_applet_by_name(name, argc_l, child->argv); | ||
| 1285 | } | 1291 | } |
| 1286 | #endif | 1292 | #endif |
| 1287 | 1293 | ||
