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:
		@@ -115,6 +115,7 @@ static int parse(const char *boundary, char **argv)
 | 
			
		||||
		/* Split to tokens */
 | 
			
		||||
		{
 | 
			
		||||
			char *s, *p;
 | 
			
		||||
			char *tokstate;
 | 
			
		||||
			unsigned ntokens;
 | 
			
		||||
			const char *delims = ";=\" \t\n";
 | 
			
		||||
 | 
			
		||||
@@ -127,13 +128,13 @@ static int parse(const char *boundary, char **argv)
 | 
			
		||||
			}
 | 
			
		||||
			dbg_error_msg("L:'%s'", p);
 | 
			
		||||
			ntokens = 0;
 | 
			
		||||
			s = strtok(s, delims);
 | 
			
		||||
			s = strtok_r(s, delims, &tokstate);
 | 
			
		||||
			while (s) {
 | 
			
		||||
				tokens[ntokens] = s;
 | 
			
		||||
				if (ntokens < ARRAY_SIZE(tokens) - 1)
 | 
			
		||||
					ntokens++;
 | 
			
		||||
				dbg_error_msg("L[%d]='%s'", ntokens, s);
 | 
			
		||||
				s = strtok(NULL, delims);
 | 
			
		||||
				s = strtok_r(NULL, delims, &tokstate);
 | 
			
		||||
			}
 | 
			
		||||
			tokens[ntokens] = NULL;
 | 
			
		||||
			dbg_error_msg("EMPTYLINE, ntokens:%d", ntokens);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user