mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Sync OpenBSD patchset 1150:
xfree is not particularly helpful, remove it. From Thomas Adam.
This commit is contained in:
		
							
								
								
									
										20
									
								
								arguments.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								arguments.c
									
									
									
									
									
								
							@@ -68,15 +68,14 @@ args_parse(const char *template, int argc, char **argv)
 | 
			
		||||
		if (opt < 0 || opt >= SCHAR_MAX)
 | 
			
		||||
			continue;
 | 
			
		||||
		if (opt == '?' || (ptr = strchr(template, opt)) == NULL) {
 | 
			
		||||
			xfree(args->flags);
 | 
			
		||||
			xfree(args);
 | 
			
		||||
			free(args->flags);
 | 
			
		||||
			free(args);
 | 
			
		||||
			return (NULL);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		bit_set(args->flags, opt);
 | 
			
		||||
		if (ptr[1] == ':') {
 | 
			
		||||
			if (args->values[opt] != NULL)
 | 
			
		||||
				xfree(args->values[opt]);
 | 
			
		||||
			free(args->values[opt]);
 | 
			
		||||
			args->values[opt] = xstrdup(optarg);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -97,13 +96,11 @@ args_free(struct args *args)
 | 
			
		||||
 | 
			
		||||
	cmd_free_argv(args->argc, args->argv);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < SCHAR_MAX; i++) {
 | 
			
		||||
		if (args->values[i] != NULL)
 | 
			
		||||
			xfree(args->values[i]);
 | 
			
		||||
	}
 | 
			
		||||
	for (i = 0; i < SCHAR_MAX; i++)
 | 
			
		||||
		free(args->values[i]);
 | 
			
		||||
 | 
			
		||||
	xfree(args->flags);
 | 
			
		||||
	xfree(args);
 | 
			
		||||
	free(args->flags);
 | 
			
		||||
	free(args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Print a set of arguments. */
 | 
			
		||||
@@ -182,8 +179,7 @@ args_has(struct args *args, u_char ch)
 | 
			
		||||
void
 | 
			
		||||
args_set(struct args *args, u_char ch, const char *value)
 | 
			
		||||
{
 | 
			
		||||
	if (args->values[ch] != NULL)
 | 
			
		||||
		xfree(args->values[ch]);
 | 
			
		||||
	free(args->values[ch]);
 | 
			
		||||
	if (value != NULL)
 | 
			
		||||
		args->values[ch] = xstrdup(value);
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user