avoid using strok - eliminates use of hidden global variable
function old new delta udhcp_str2optset 616 650 +34 setpriv_main 950 975 +25 switch_root_main 688 706 +18 parse 958 970 +12 getopt_main 622 628 +6 parse_resolvconf 302 306 +4 mpstat_main 1139 1142 +3 static.p 4 - -4 cdcmd 717 702 -15 strtok 148 - -148 ------------------------------------------------------------------------------ (add/remove: 0/3 grow/shrink: 7/1 up/down: 102/-167) Total: -65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -144,10 +144,11 @@ static unsigned parse_cap(const char *cap)
|
||||
static void set_inh_caps(char *capstring)
|
||||
{
|
||||
struct caps caps;
|
||||
char *string;
|
||||
|
||||
getcaps(&caps);
|
||||
|
||||
capstring = strtok(capstring, ",");
|
||||
capstring = strtok_r(capstring, ",", &string);
|
||||
while (capstring) {
|
||||
unsigned cap;
|
||||
|
||||
@ -159,7 +160,7 @@ static void set_inh_caps(char *capstring)
|
||||
caps.data[CAP_TO_INDEX(cap)].inheritable |= CAP_TO_MASK(cap);
|
||||
else
|
||||
caps.data[CAP_TO_INDEX(cap)].inheritable &= ~CAP_TO_MASK(cap);
|
||||
capstring = strtok(NULL, ",");
|
||||
capstring = strtok_r(NULL, ",", &string);
|
||||
}
|
||||
|
||||
if (capset(&caps.header, caps.data) != 0)
|
||||
@ -170,7 +171,7 @@ static void set_ambient_caps(char *string)
|
||||
{
|
||||
char *cap;
|
||||
|
||||
cap = strtok(string, ",");
|
||||
cap = strtok_r(string, ",", &string);
|
||||
while (cap) {
|
||||
unsigned idx;
|
||||
|
||||
@ -182,7 +183,7 @@ static void set_ambient_caps(char *string)
|
||||
if (prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_LOWER, idx, 0, 0) < 0)
|
||||
bb_simple_perror_msg("cap_ambient_lower");
|
||||
}
|
||||
cap = strtok(NULL, ",");
|
||||
cap = strtok_r(NULL, ",", &string);
|
||||
}
|
||||
}
|
||||
#endif /* FEATURE_SETPRIV_CAPABILITIES */
|
||||
|
Reference in New Issue
Block a user