mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Can't use the same va_list twice, from Emanuele Giaquinta.
This commit is contained in:
		@@ -44,12 +44,15 @@ int
 | 
				
			|||||||
vasprintf(char **ret, const char *fmt, va_list ap)
 | 
					vasprintf(char **ret, const char *fmt, va_list ap)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int	 n;
 | 
						int	 n;
 | 
				
			||||||
 | 
						va_list  ap2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						va_copy(ap2, ap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((n = vsnprintf(NULL, 0, fmt, ap)) < 0)
 | 
						if ((n = vsnprintf(NULL, 0, fmt, ap)) < 0)
 | 
				
			||||||
		goto error;
 | 
							goto error;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	*ret = xmalloc(n + 1);
 | 
						*ret = xmalloc(n + 1);
 | 
				
			||||||
	if ((n = vsnprintf(*ret, n + 1, fmt, ap)) < 0) {
 | 
						if ((n = vsnprintf(*ret, n + 1, fmt, ap2)) < 0) {
 | 
				
			||||||
		xfree(*ret);
 | 
							xfree(*ret);
 | 
				
			||||||
		goto error;
 | 
							goto error;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user