mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Check the first of LC_CTYPE, LC_ALL and LANG, rather than just the last, when
trying to decide about UTF-8, and use strcasestr. Reported by Geert Hendrickx.
This commit is contained in:
		
							
								
								
									
										11
									
								
								tmux.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								tmux.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $OpenBSD: tmux.c,v 1.7 2009/06/04 21:56:14 nicm Exp $ */
 | 
			
		||||
/* $OpenBSD: tmux.c,v 1.8 2009/06/05 07:22:23 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -342,12 +342,17 @@ main(int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
	if (!(flags & IDENTIFY_UTF8)) {
 | 
			
		||||
		/*
 | 
			
		||||
		 * If the user has set LANG to contain UTF-8, it is a safe
 | 
			
		||||
		 * If the user has set whichever of LC_ALL, LC_CTYPE or LANG
 | 
			
		||||
		 * exist (in that order) to contain UTF-8, it is a safe
 | 
			
		||||
		 * assumption that either they are using a UTF-8 terminal, or
 | 
			
		||||
		 * if not they know that output from UTF-8-capable programs may
 | 
			
		||||
		 * be wrong.
 | 
			
		||||
		 */
 | 
			
		||||
		if ((s = getenv("LANG")) != NULL && strstr(s, "UTF-8") != NULL)
 | 
			
		||||
		if ((s = getenv("LC_CTYPE")) == NULL) {
 | 
			
		||||
			if ((s = getenv("LC_ALL")) == NULL)
 | 
			
		||||
				s = getenv("LANG");
 | 
			
		||||
		}
 | 
			
		||||
		if (s != NULL && strcasestr(s, "UTF-8") != NULL)
 | 
			
		||||
			flags |= IDENTIFY_UTF8;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user