EBCDIC helpers and OS/390 signals
This commit is contained in:
		
							
								
								
									
										4
									
								
								Build.sh
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Build.sh
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| #!/bin/sh | ||||
| srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.674 2015/04/19 18:50:35 tg Exp $' | ||||
| srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.675 2015/04/29 18:38:50 tg Exp $' | ||||
| #- | ||||
| # Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||||
| #		2011, 2012, 2013, 2014, 2015 | ||||
| @@ -2284,7 +2284,7 @@ mksh_cfg= NSIG | ||||
| 	sigs="ABRT FPE ILL INT SEGV TERM ALRM BUS CHLD CONT HUP KILL PIPE QUIT" | ||||
| 	sigs="$sigs STOP TSTP TTIN TTOU USR1 USR2 POLL PROF SYS TRAP URG VTALRM" | ||||
| 	sigs="$sigs XCPU XFSZ INFO WINCH EMT IO DIL LOST PWR SAK CLD IOT RESV" | ||||
| 	sigs="$sigs STKFLT UNUSED" | ||||
| 	sigs="$sigs STKFLT ABND DCE DUMP IOERR TRACE DANGER UNUSED" | ||||
| 	test 1 = $HAVE_CPP_DD && test $NSIG -gt 1 && sigs="$sigs "`vq \ | ||||
| 	    "$CPP $CFLAGS $CPPFLAGS $NOWARN -dD conftest.c" | \ | ||||
| 	    grep '[	 ]SIG[A-Z0-9][A-Z0-9]*[	 ]' | \ | ||||
|   | ||||
							
								
								
									
										8
									
								
								misc.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								misc.c
									
									
									
									
									
								
							| @@ -30,7 +30,7 @@ | ||||
| #include <grp.h> | ||||
| #endif | ||||
|  | ||||
| __RCSID("$MirOS: src/bin/mksh/misc.c,v 1.227 2015/04/29 18:32:44 tg Exp $"); | ||||
| __RCSID("$MirOS: src/bin/mksh/misc.c,v 1.228 2015/04/29 18:38:52 tg Exp $"); | ||||
|  | ||||
| #define KSH_CHVT_FLAG | ||||
| #ifdef MKSH_SMALL | ||||
| @@ -52,7 +52,7 @@ static const unsigned char *pat_scan(const unsigned char *, | ||||
|     const unsigned char *, bool) MKSH_A_PURE; | ||||
| static int do_gmatch(const unsigned char *, const unsigned char *, | ||||
|     const unsigned char *, const unsigned char *) MKSH_A_PURE; | ||||
| static const unsigned char *cclass(const unsigned char *, unsigned char) | ||||
| static const unsigned char *gmatch_cclass(const unsigned char *, unsigned char) | ||||
|     MKSH_A_PURE; | ||||
| #ifdef KSH_CHVT_CODE | ||||
| static void chvt(const Getopt *); | ||||
| @@ -776,7 +776,7 @@ do_gmatch(const unsigned char *s, const unsigned char *se, | ||||
| 		} | ||||
| 		switch (*p++) { | ||||
| 		case '[': | ||||
| 			if (sc == 0 || (p = cclass(p, sc)) == NULL) | ||||
| 			if (sc == 0 || (p = gmatch_cclass(p, sc)) == NULL) | ||||
| 				return (0); | ||||
| 			break; | ||||
|  | ||||
| @@ -889,7 +889,7 @@ do_gmatch(const unsigned char *s, const unsigned char *se, | ||||
| } | ||||
|  | ||||
| static const unsigned char * | ||||
| cclass(const unsigned char *p, unsigned char sub) | ||||
| gmatch_cclass(const unsigned char *p, unsigned char sub) | ||||
| { | ||||
| 	unsigned char c, d; | ||||
| 	bool notp, found = false; | ||||
|   | ||||
							
								
								
									
										3
									
								
								sh.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								sh.h
									
									
									
									
									
								
							| @@ -169,7 +169,7 @@ | ||||
| #endif | ||||
|  | ||||
| #ifdef EXTERN | ||||
| __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.725 2015/04/19 19:18:07 tg Exp $"); | ||||
| __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.726 2015/04/29 18:38:54 tg Exp $"); | ||||
| #endif | ||||
| #define MKSH_VERSION "R51 2015/04/19" | ||||
|  | ||||
| @@ -305,6 +305,7 @@ struct rusage { | ||||
| #define ksh_toupper(c)	(((c) >= 'a') && ((c) <= 'z') ? (c) - 'a' + 'A' : (c)) | ||||
| #define ksh_isdash(s)	(((s)[0] == '-') && ((s)[1] == '\0')) | ||||
| #define ksh_isspace(c)	((((c) >= 0x09) && ((c) <= 0x0D)) || ((c) == 0x20)) | ||||
| #define ksh_eq(c,u,l)	(((c) | 0x20) == (l)) | ||||
| #define ksh_min(x,y)	((x) < (y) ? (x) : (y)) | ||||
| #define ksh_max(x,y)	((x) > (y) ? (x) : (y)) | ||||
|  | ||||
|   | ||||
							
								
								
									
										14
									
								
								var.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								var.c
									
									
									
									
									
								
							| @@ -28,7 +28,7 @@ | ||||
| #include <sys/sysctl.h> | ||||
| #endif | ||||
|  | ||||
| __RCSID("$MirOS: src/bin/mksh/var.c,v 1.190 2015/04/19 18:50:38 tg Exp $"); | ||||
| __RCSID("$MirOS: src/bin/mksh/var.c,v 1.191 2015/04/29 18:38:54 tg Exp $"); | ||||
|  | ||||
| /*- | ||||
|  * Variables | ||||
| @@ -510,7 +510,7 @@ getint(struct tbl *vp, mksh_ari_u *nump, bool arith) | ||||
| 	} | ||||
|  | ||||
| 	if (c == '0' && arith) { | ||||
| 		if ((s[0] | 0x20) == 'x') { | ||||
| 		if (ksh_eq(s[0], 'X', 'x')) { | ||||
| 			/* interpret as hexadecimal */ | ||||
| 			base = 16; | ||||
| 			++s; | ||||
| @@ -554,12 +554,12 @@ getint(struct tbl *vp, mksh_ari_u *nump, bool arith) | ||||
| 		} | ||||
| 		if (ksh_isdigit(c)) | ||||
| 			c -= '0'; | ||||
| 		else { | ||||
| 			c |= 0x20; | ||||
| 			if (!ksh_islower(c)) | ||||
| 				return (-1); | ||||
| 		else if (ksh_isupper(c)) | ||||
| 			c -= 'A' - 10; | ||||
| 		else if (ksh_islower(c)) | ||||
| 			c -= 'a' - 10; | ||||
| 		} | ||||
| 		else | ||||
| 			return (-1); | ||||
| 		if (c >= base) | ||||
| 			return (-1); | ||||
| 		/* handle overflow as truncation */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user