randomconfig fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
c7ef818768
commit
77a51a2709
@ -177,6 +177,7 @@ static char *skip_fields(char *str, int count)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_TOPMEM || ENABLE_PMAP
|
||||||
static char* skip_whitespace_if_prefixed_with(char *buf, const char *prefix)
|
static char* skip_whitespace_if_prefixed_with(char *buf, const char *prefix)
|
||||||
{
|
{
|
||||||
char *tp = is_prefixed_with(buf, prefix);
|
char *tp = is_prefixed_with(buf, prefix);
|
||||||
@ -186,7 +187,6 @@ static char* skip_whitespace_if_prefixed_with(char *buf, const char *prefix)
|
|||||||
return tp;
|
return tp;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLE_FEATURE_TOPMEM || ENABLE_PMAP
|
|
||||||
int FAST_FUNC procps_read_smaps(pid_t pid, struct smaprec *total,
|
int FAST_FUNC procps_read_smaps(pid_t pid, struct smaprec *total,
|
||||||
void (*cb)(struct smaprec *, void *), void *data)
|
void (*cb)(struct smaprec *, void *), void *data)
|
||||||
{
|
{
|
||||||
|
@ -341,7 +341,7 @@ int login_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
#if ENABLE_LOGIN_SESSION_AS_CHILD
|
#if ENABLE_LOGIN_SESSION_AS_CHILD
|
||||||
pid_t child_pid;
|
pid_t child_pid;
|
||||||
#endif
|
#endif
|
||||||
pid_t my_pid;
|
IF_FEATURE_UTMP(pid_t my_pid;)
|
||||||
|
|
||||||
INIT_G();
|
INIT_G();
|
||||||
|
|
||||||
@ -524,7 +524,7 @@ int login_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
if (pw->pw_uid != 0)
|
if (pw->pw_uid != 0)
|
||||||
die_if_nologin();
|
die_if_nologin();
|
||||||
|
|
||||||
my_pid = getpid();
|
IF_FEATURE_UTMP(my_pid = getpid();)
|
||||||
update_utmp(my_pid, USER_PROCESS, short_tty, username, run_by_root ? opt_host : NULL);
|
update_utmp(my_pid, USER_PROCESS, short_tty, username, run_by_root ? opt_host : NULL);
|
||||||
|
|
||||||
#if ENABLE_LOGIN_SESSION_AS_CHILD
|
#if ENABLE_LOGIN_SESSION_AS_CHILD
|
||||||
|
@ -100,7 +100,7 @@ static void mod(void)
|
|||||||
* 0
|
* 0
|
||||||
*/
|
*/
|
||||||
if (d == 0) {
|
if (d == 0) {
|
||||||
bb_error_msg("remainder by zero");
|
bb_simple_error_msg("remainder by zero");
|
||||||
pop();
|
pop();
|
||||||
push(0);
|
push(0);
|
||||||
return;
|
return;
|
||||||
|
@ -362,7 +362,7 @@ static const char bb_msg_variable_not_found[] ALIGN1 = "variable: %s not found";
|
|||||||
|
|
||||||
static void safe_memcpy(char *dest, const char *src, int len)
|
static void safe_memcpy(char *dest, const char *src, int len)
|
||||||
{
|
{
|
||||||
memcpy(dest , src, len);
|
memcpy(dest, src, len);
|
||||||
dest[len] = '\0';
|
dest[len] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1106,7 +1106,7 @@ static int copy_inode(const char *destpath, const struct stat *dest_stat,
|
|||||||
do_chown:
|
do_chown:
|
||||||
if (chown(destpath, source_stat->st_uid, source_stat->st_gid) == 0)
|
if (chown(destpath, source_stat->st_uid, source_stat->st_gid) == 0)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
/*break;*/
|
/*break;*/
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} /* End Function copy_inode */
|
} /* End Function copy_inode */
|
||||||
|
@ -273,7 +273,7 @@ static int i2c_bus_lookup(const char *bus_str)
|
|||||||
return xstrtou_range(bus_str, 10, 0, 0xfffff);
|
return xstrtou_range(bus_str, 10, 0, 0xfffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLE_I2CGET || ENABLE_I2CSET || ENABLE_I2CDUMP || ENABLE_I2CTRANSFER
|
#if ENABLE_I2CGET || ENABLE_I2CSET || ENABLE_I2CDUMP
|
||||||
static int i2c_parse_bus_addr(const char *addr_str)
|
static int i2c_parse_bus_addr(const char *addr_str)
|
||||||
{
|
{
|
||||||
/* Slave address must be in range 0x03 - 0x77. */
|
/* Slave address must be in range 0x03 - 0x77. */
|
||||||
@ -286,14 +286,16 @@ static void i2c_set_pec(int fd, int pec)
|
|||||||
itoptr(pec ? 1 : 0),
|
itoptr(pec ? 1 : 0),
|
||||||
"can't set PEC");
|
"can't set PEC");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLE_I2CGET || ENABLE_I2CSET || ENABLE_I2CDUMP || ENABLE_I2CTRANSFER
|
||||||
static void i2c_set_slave_addr(int fd, int addr, int force)
|
static void i2c_set_slave_addr(int fd, int addr, int force)
|
||||||
{
|
{
|
||||||
ioctl_or_perror_and_die(fd, force ? I2C_SLAVE_FORCE : I2C_SLAVE,
|
ioctl_or_perror_and_die(fd, force ? I2C_SLAVE_FORCE : I2C_SLAVE,
|
||||||
itoptr(addr),
|
itoptr(addr),
|
||||||
"can't set address to 0x%02x", addr);
|
"can't set address to 0x%02x", addr);
|
||||||
}
|
}
|
||||||
#endif /* ENABLE_I2CGET || ENABLE_I2CSET || ENABLE_I2CDUMP */
|
#endif
|
||||||
|
|
||||||
#if ENABLE_I2CGET || ENABLE_I2CSET
|
#if ENABLE_I2CGET || ENABLE_I2CSET
|
||||||
static int i2c_parse_data_addr(const char *data_addr)
|
static int i2c_parse_data_addr(const char *data_addr)
|
||||||
|
@ -21,6 +21,12 @@
|
|||||||
#define IFF_LOWER_UP 0x10000 /* driver signals L1 up */
|
#define IFF_LOWER_UP 0x10000 /* driver signals L1 up */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef IFA_F_NOPREFIXROUTE
|
||||||
|
# define IFA_FLAGS 8
|
||||||
|
/* ifa_flags */
|
||||||
|
# define IFA_F_NOPREFIXROUTE 0x200
|
||||||
|
#endif
|
||||||
|
|
||||||
struct filter_t {
|
struct filter_t {
|
||||||
char *label;
|
char *label;
|
||||||
/* Flush cmd buf. If !NULL, print_addrinfo() constructs flush commands in it */
|
/* Flush cmd buf. If !NULL, print_addrinfo() constructs flush commands in it */
|
||||||
|
@ -368,12 +368,16 @@ static void put_iac2_msb_lsb(unsigned x_y)
|
|||||||
}
|
}
|
||||||
#define put_iac2_x_y(x,y) put_iac2_msb_lsb(((x)<<8) + (y))
|
#define put_iac2_x_y(x,y) put_iac2_msb_lsb(((x)<<8) + (y))
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_TELNET_WIDTH \
|
||||||
|
|| ENABLE_FEATURE_TELNET_TTYPE \
|
||||||
|
|| ENABLE_FEATURE_TELNET_AUTOLOGIN
|
||||||
static void put_iac4_msb_lsb(unsigned x_y_z_t)
|
static void put_iac4_msb_lsb(unsigned x_y_z_t)
|
||||||
{
|
{
|
||||||
put_iac2_msb_lsb(x_y_z_t >> 16);
|
put_iac2_msb_lsb(x_y_z_t >> 16);
|
||||||
put_iac2_msb_lsb(x_y_z_t); /* "... & 0xffff" is implicit */
|
put_iac2_msb_lsb(x_y_z_t); /* "... & 0xffff" is implicit */
|
||||||
}
|
}
|
||||||
#define put_iac4_x_y_z_t(x,y,z,t) put_iac4_msb_lsb(((x)<<24) + ((y)<<16) + ((z)<<8) + (t))
|
#define put_iac4_x_y_z_t(x,y,z,t) put_iac4_msb_lsb(((x)<<24) + ((y)<<16) + ((z)<<8) + (t))
|
||||||
|
#endif
|
||||||
|
|
||||||
static void put_iac3_IAC_x_y_merged(unsigned wwdd_and_c)
|
static void put_iac3_IAC_x_y_merged(unsigned wwdd_and_c)
|
||||||
{
|
{
|
||||||
|
@ -483,7 +483,7 @@ wait_for_reply(unsigned *timestamp_us, int *left_ms)
|
|||||||
&G.from_lsa->u.sa, &G.from_lsa->len);
|
&G.from_lsa->u.sa, &G.from_lsa->len);
|
||||||
#endif
|
#endif
|
||||||
if (read_len < 0)
|
if (read_len < 0)
|
||||||
bb_perror_msg_and_die("recv");
|
bb_simple_perror_msg_and_die("recv");
|
||||||
t = monotonic_us();
|
t = monotonic_us();
|
||||||
*left_ms -= (t - *timestamp_us) / 1000;
|
*left_ms -= (t - *timestamp_us) / 1000;
|
||||||
*timestamp_us = t;
|
*timestamp_us = t;
|
||||||
|
@ -58,11 +58,19 @@ static void gettimeofday_ns(struct timespec *ts)
|
|||||||
#else
|
#else
|
||||||
static void gettimeofday_ns(struct timespec *ts)
|
static void gettimeofday_ns(struct timespec *ts)
|
||||||
{
|
{
|
||||||
BUILD_BUG_ON(sizeof(struct timeval) != sizeof(struct timespec));
|
if (sizeof(struct timeval) == sizeof(struct timespec)
|
||||||
BUILD_BUG_ON(sizeof(((struct timeval*)ts)->tv_usec) != sizeof(ts->tv_nsec));
|
&& sizeof(((struct timeval*)ts)->tv_usec) == sizeof(ts->tv_nsec)
|
||||||
/* Cheat */
|
) {
|
||||||
gettimeofday((void*)ts, NULL);
|
/* Cheat */
|
||||||
ts->tv_nsec *= 1000;
|
gettimeofday((void*)ts, NULL);
|
||||||
|
ts->tv_nsec *= 1000;
|
||||||
|
} else {
|
||||||
|
/* For example, musl has "incompatible" layouts */
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, NULL);
|
||||||
|
ts->tv_sec = tv.tv_sec;
|
||||||
|
ts->tv_nsec = tv.tv_usec * 1000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -653,7 +653,7 @@ struct command {
|
|||||||
/* used for "[[ EXPR ]]" */
|
/* used for "[[ EXPR ]]" */
|
||||||
# define CMD_TEST2_SINGLEWORD_NOGLOB 2
|
# define CMD_TEST2_SINGLEWORD_NOGLOB 2
|
||||||
#endif
|
#endif
|
||||||
#if ENABLE_HUSH_LOCAL || ENABLE_HUSH_EXPORT || ENABLE_HUSH_READONLY
|
#if BASH_TEST2 || ENABLE_HUSH_LOCAL || ENABLE_HUSH_EXPORT || ENABLE_HUSH_READONLY
|
||||||
/* used to prevent word splitting and globbing in "export v=t*" */
|
/* used to prevent word splitting and globbing in "export v=t*" */
|
||||||
# define CMD_SINGLEWORD_NOGLOB 3
|
# define CMD_SINGLEWORD_NOGLOB 3
|
||||||
#endif
|
#endif
|
||||||
@ -8762,6 +8762,7 @@ static int process_wait_result(struct pipe *fg_pipe, pid_t childpid, int status)
|
|||||||
*/
|
*/
|
||||||
if (WIFSIGNALED(status)) {
|
if (WIFSIGNALED(status)) {
|
||||||
int sig = WTERMSIG(status);
|
int sig = WTERMSIG(status);
|
||||||
|
#if ENABLE_HUSH_JOB
|
||||||
if (G.run_list_level == 1
|
if (G.run_list_level == 1
|
||||||
/* ^^^^^ Do not print in nested contexts, example:
|
/* ^^^^^ Do not print in nested contexts, example:
|
||||||
* echo `sleep 1; sh -c 'kill -9 $$'` - prints "137", NOT "Killed 137"
|
* echo `sleep 1; sh -c 'kill -9 $$'` - prints "137", NOT "Killed 137"
|
||||||
@ -8771,6 +8772,7 @@ static int process_wait_result(struct pipe *fg_pipe, pid_t childpid, int status)
|
|||||||
/* strsignal() is for bash compat. ~600 bloat versus bbox's get_signame() */
|
/* strsignal() is for bash compat. ~600 bloat versus bbox's get_signame() */
|
||||||
puts(sig == SIGINT || sig == SIGPIPE ? "" : strsignal(sig));
|
puts(sig == SIGINT || sig == SIGPIPE ? "" : strsignal(sig));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/* TODO: if (WCOREDUMP(status)) + " (core dumped)"; */
|
/* TODO: if (WCOREDUMP(status)) + " (core dumped)"; */
|
||||||
/* MIPS has 128 sigs (1..128), if sig==128,
|
/* MIPS has 128 sigs (1..128), if sig==128,
|
||||||
* 128 + sig would result in exitcode 256 -> 0!
|
* 128 + sig would result in exitcode 256 -> 0!
|
||||||
|
@ -34,6 +34,8 @@ umount -d "$testdir" 2>/dev/null
|
|||||||
# file input will be file called "input"
|
# file input will be file called "input"
|
||||||
# test can create a file "actual" instead of writing to stdout
|
# test can create a file "actual" instead of writing to stdout
|
||||||
|
|
||||||
|
# This will always fail on !CONFIG_MANDATORY_FILE_LOCKING kernels
|
||||||
|
test "$SKIP_MOUNT_MAND_TESTS" = "1" || \
|
||||||
testing "mount -o remount,mand" \
|
testing "mount -o remount,mand" \
|
||||||
"mount -o loop mount.image1m $testdir "\
|
"mount -o loop mount.image1m $testdir "\
|
||||||
"&& grep -Fc $testdir </proc/mounts "\
|
"&& grep -Fc $testdir </proc/mounts "\
|
||||||
|
@ -61,7 +61,7 @@ testing "xargs -n2" \
|
|||||||
|
|
||||||
SKIP=
|
SKIP=
|
||||||
|
|
||||||
optional FEATURE_XARGS_SUPPORT_QUOTES
|
optional FEATURE_XARGS_SUPPORT_QUOTES FEATURE_XARGS_SUPPORT_REPL_STR
|
||||||
testing "xargs -I skips empty lines and leading whitespace" \
|
testing "xargs -I skips empty lines and leading whitespace" \
|
||||||
"xargs -I% echo '[%]'" \
|
"xargs -I% echo '[%]'" \
|
||||||
"[2]\n[4]\n[6 6 ]\n[7]\n" \
|
"[2]\n[4]\n[6 6 ]\n[7]\n" \
|
||||||
|
@ -185,8 +185,11 @@ struct hd_geometry {
|
|||||||
|
|
||||||
#define HDIO_GETGEO 0x0301 /* get device geometry */
|
#define HDIO_GETGEO 0x0301 /* get device geometry */
|
||||||
|
|
||||||
/* TODO: #if ENABLE_FEATURE_FDISK_WRITABLE */
|
/* TODO: just #if ENABLE_FEATURE_FDISK_WRITABLE */
|
||||||
/* (currently fdisk_sun/sgi.c do not have proper WRITABLE #ifs) */
|
/* (currently fdisk_sun/sgi.c do not have proper WRITABLE #ifs) */
|
||||||
|
#if ENABLE_FEATURE_FDISK_WRITABLE \
|
||||||
|
|| ENABLE_FEATURE_SGI_LABEL \
|
||||||
|
|| ENABLE_FEATURE_SUN_LABEL
|
||||||
static const char msg_building_new_label[] ALIGN1 =
|
static const char msg_building_new_label[] ALIGN1 =
|
||||||
"Building a new %s. Changes will remain in memory only,\n"
|
"Building a new %s. Changes will remain in memory only,\n"
|
||||||
"until you decide to write them. After that the previous content\n"
|
"until you decide to write them. After that the previous content\n"
|
||||||
@ -194,7 +197,7 @@ static const char msg_building_new_label[] ALIGN1 =
|
|||||||
|
|
||||||
static const char msg_part_already_defined[] ALIGN1 =
|
static const char msg_part_already_defined[] ALIGN1 =
|
||||||
"Partition %u is already defined, delete it before re-adding\n";
|
"Partition %u is already defined, delete it before re-adding\n";
|
||||||
/* #endif */
|
#endif
|
||||||
|
|
||||||
|
|
||||||
struct partition {
|
struct partition {
|
||||||
|
Loading…
Reference in New Issue
Block a user