aboutsummaryrefslogtreecommitdiff
path: root/shell/hush.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/hush.c')
-rw-r--r--shell/hush.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 9fead37da..5eb6fa396 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -1027,7 +1027,7 @@ struct globals {
struct sigaction sa;
char optstring_buf[sizeof("eixcs")];
#if BASH_EPOCH_VARS
- char epoch_buf[sizeof("%lu.nnnnnn") + sizeof(long)*3];
+ char epoch_buf[sizeof("%llu.nnnnnn") + sizeof(long long)*3];
#endif
#if ENABLE_FEATURE_EDITING
char user_input_buf[CONFIG_FEATURE_EDITING_MAX_LEN];
@@ -2277,13 +2277,13 @@ static const char* FAST_FUNC get_local_var_value(const char *name)
{
const char *fmt = NULL;
if (strcmp(name, "EPOCHSECONDS") == 0)
- fmt = "%lu";
+ fmt = "%llu";
else if (strcmp(name, "EPOCHREALTIME") == 0)
- fmt = "%lu.%06u";
+ fmt = "%llu.%06u";
if (fmt) {
struct timeval tv;
- gettimeofday(&tv, NULL);
- sprintf(G.epoch_buf, fmt, (unsigned long)tv.tv_sec,
+ xgettimeofday(&tv);
+ sprintf(G.epoch_buf, fmt, (unsigned long long)tv.tv_sec,
(unsigned)tv.tv_usec);
return G.epoch_buf;
}
@@ -2692,7 +2692,7 @@ static int get_user_input(struct in_str *i)
* Without check_and_run_traps, handler never runs.
*/
check_and_run_traps();
- fputs(prompt_str, stdout);
+ fputs_stdout(prompt_str);
fflush_all();
}
r = hfgetc(i->file);
@@ -10163,7 +10163,8 @@ int hush_main(int argc, char **argv)
/* http://www.opengroup.org/onlinepubs/9699919799/utilities/sh.html */
flags = (argv[0] && argv[0][0] == '-') ? OPT_login : 0;
while (1) {
- int opt = getopt(argc, argv, "+cexinsl"
+ int opt = getopt(argc, argv, "+" /* stop at 1st non-option */
+ "cexinsl"
#if !BB_MMU
"<:$:R:V:"
# if ENABLE_HUSH_FUNCTIONS
@@ -10255,12 +10256,13 @@ int hush_main(int argc, char **argv)
}
# endif
#endif
- case 'n':
- case 'x':
- case 'e':
+ /*case '?': invalid option encountered (set_mode('?') will fail) */
+ /*case 'n':*/
+ /*case 'x':*/
+ /*case 'e':*/
+ default:
if (set_mode(1, opt, NULL) == 0) /* no error */
break;
- default:
bb_show_usage();
}
} /* option parsing loop */