Bash-4.3 distribution sources and documentation
This commit is contained in:
		
					parent
					
						
							
								4539d736f1
							
						
					
				
			
			
				commit
				
					
						ac50fbac37
					
				
			
		
					 497 changed files with 129395 additions and 87598 deletions
				
			
		|  | @ -43,6 +43,10 @@ | |||
| #  include <locale.h> | ||||
| #endif | ||||
| 
 | ||||
| #if defined (HAVE_LANGINFO_CODESET) | ||||
| #  include <langinfo.h> | ||||
| #endif | ||||
| 
 | ||||
| #include <ctype.h> | ||||
| 
 | ||||
| #include "rldefs.h" | ||||
|  | @ -50,6 +54,8 @@ | |||
| #include "rlshell.h" | ||||
| #include "rlprivate.h" | ||||
| 
 | ||||
| static int utf8locale PARAMS((char *)); | ||||
| 
 | ||||
| #if !defined (HAVE_SETLOCALE)     | ||||
| /* A list of legal values for the LANG or LC_CTYPE environment variables.
 | ||||
|    If a locale name in this list is the value for the LC_ALL, LC_CTYPE, | ||||
|  | @ -72,9 +78,10 @@ static char *legal_lang_values[] = | |||
| }; | ||||
| 
 | ||||
| static char *normalize_codeset PARAMS((char *)); | ||||
| static char *find_codeset PARAMS((char *, size_t *)); | ||||
| #endif /* !HAVE_SETLOCALE */ | ||||
| 
 | ||||
| static char *find_codeset PARAMS((char *, size_t *)); | ||||
| 
 | ||||
| static char *_rl_get_locale_var PARAMS((const char *)); | ||||
| 
 | ||||
| static char * | ||||
|  | @ -91,7 +98,26 @@ _rl_get_locale_var (v) | |||
| 
 | ||||
|   return lspec; | ||||
| } | ||||
|    | ||||
| 
 | ||||
| static int | ||||
| utf8locale (lspec) | ||||
|      char *lspec; | ||||
| { | ||||
|   char *cp; | ||||
|   size_t len; | ||||
| 
 | ||||
| #if HAVE_LANGINFO_CODESET | ||||
|   cp = nl_langinfo (CODESET); | ||||
|   return (STREQ (cp, "UTF-8") || STREQ (cp, "utf8")); | ||||
| #else | ||||
|   cp = find_codeset (lspec, &len); | ||||
| 
 | ||||
|   if (cp == 0 || len < 4 || len > 5) | ||||
|     return 0; | ||||
|   return ((len == 5) ? strncmp (cp, "UTF-8", len) == 0 : strncmp (cp, "utf8", 4) == 0); | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
| /* Check for LC_ALL, LC_CTYPE, and LANG and use the first with a value
 | ||||
|    to decide the defaults for 8-bit character input and output.  Returns | ||||
|    1 if we set eight-bit mode. */ | ||||
|  | @ -116,6 +142,9 @@ _rl_init_eightbit () | |||
|     lspec = ""; | ||||
|   t = setlocale (LC_CTYPE, lspec); | ||||
| 
 | ||||
|   if (t && *t) | ||||
|     _rl_utf8locale = utf8locale (t); | ||||
| 
 | ||||
|   if (t && *t && (t[0] != 'C' || t[1]) && (STREQ (t, "POSIX") == 0)) | ||||
|     { | ||||
|       _rl_meta_flag = 1; | ||||
|  | @ -197,6 +226,7 @@ normalize_codeset (codeset) | |||
| 
 | ||||
|   return retval; | ||||
| } | ||||
| #endif /* !HAVE_SETLOCALE */ | ||||
| 
 | ||||
| /* Isolate codeset portion of locale specification. */ | ||||
| static char * | ||||
|  | @ -249,4 +279,3 @@ find_codeset (name, lenp) | |||
| 
 | ||||
|   return result; | ||||
| } | ||||
| #endif /* !HAVE_SETLOCALE */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Chet Ramey
				Chet Ramey