mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	init: fix sh detection (re: 921bbcae)
				
					
				
			ksh was enabling POSIX mode on init if it was invoked as any name that merely started with 'sh' (after parsing initial 'r'). This included shcomp, which was bad news. src/cmd/ksh93/sh/init.c: sh_type(): - Check that the 'sh' is at the end of the string by checking for a final zero byte. - On Windows (_WINIX, see src/lib/libast/features/common), allow for a file name extension (sh.exe) by checking for a dot as well.
This commit is contained in:
		
							parent
							
								
									c607c48c84
								
							
						
					
					
						commit
						5e21cacf7a
					
				
					 1 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1127,7 +1127,11 @@ int sh_type(register const char *path)
 | 
			
		|||
	{
 | 
			
		||||
		s++;
 | 
			
		||||
		t |= SH_TYPE_SH;
 | 
			
		||||
		if (!(t & SH_TYPE_KSH))
 | 
			
		||||
#if _WINIX
 | 
			
		||||
		if (!(t & SH_TYPE_KSH) && (!*s || *s == '.'))
 | 
			
		||||
#else
 | 
			
		||||
		if (!(t & SH_TYPE_KSH) && !*s)
 | 
			
		||||
#endif
 | 
			
		||||
			t |= SH_TYPE_POSIX;
 | 
			
		||||
		if ((t & SH_TYPE_KSH) && *s == '9' && *(s+1) == '3')
 | 
			
		||||
			s += 2;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue