‣ merge from mksh R40-stable
use common macro bodies shf_{get,put}c_ for definition
of shf_{put,get}c as functions (MKSH_SMALL) or macros, respectively
			
			
This commit is contained in:
		
							
								
								
									
										18
									
								
								sh.h
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								sh.h
									
									
									
									
									
								
							| @@ -151,7 +151,7 @@ | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef EXTERN | #ifdef EXTERN | ||||||
| __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.484 2011/07/07 20:24:52 tg Exp $"); | __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.485 2011/07/16 17:07:34 tg Exp $"); | ||||||
| #endif | #endif | ||||||
| #define MKSH_VERSION "R40 2011/07/07" | #define MKSH_VERSION "R40 2011/07/07" | ||||||
|  |  | ||||||
| @@ -881,17 +881,12 @@ EXTERN mksh_ari_t x_lins I__(-1);	/* tty lines */ | |||||||
|  |  | ||||||
| #define shf_fileno(shf)		((shf)->fd) | #define shf_fileno(shf)		((shf)->fd) | ||||||
| #define shf_setfileno(shf,nfd)	((shf)->fd = (nfd)) | #define shf_setfileno(shf,nfd)	((shf)->fd = (nfd)) | ||||||
| #ifdef MKSH_SMALL | #define shf_getc_(shf)		((shf)->rnleft > 0 ? \ | ||||||
| int shf_getc(struct shf *); |  | ||||||
| int shf_putc(int, struct shf *); |  | ||||||
| #else |  | ||||||
| #define shf_getc(shf)		((shf)->rnleft > 0 ? \ |  | ||||||
| 				    (shf)->rnleft--, *(shf)->rp++ : \ | 				    (shf)->rnleft--, *(shf)->rp++ : \ | ||||||
| 				    shf_getchar(shf)) | 				    shf_getchar(shf)) | ||||||
| #define shf_putc(c, shf)	((shf)->wnleft == 0 ? \ | #define shf_putc_(c, shf)	((shf)->wnleft == 0 ? \ | ||||||
| 				    shf_putchar((c), (shf)) : \ | 				    shf_putchar((c), (shf)) : \ | ||||||
| 				    ((shf)->wnleft--, *(shf)->wp++ = (c))) | 				    ((shf)->wnleft--, *(shf)->wp++ = (c))) | ||||||
| #endif |  | ||||||
| #define shf_eof(shf)		((shf)->flags & SHF_EOF) | #define shf_eof(shf)		((shf)->flags & SHF_EOF) | ||||||
| #define shf_error(shf)		((shf)->flags & SHF_ERROR) | #define shf_error(shf)		((shf)->flags & SHF_ERROR) | ||||||
| #define shf_errno(shf)		((shf)->errno_) | #define shf_errno(shf)		((shf)->errno_) | ||||||
| @@ -1778,6 +1773,13 @@ int shf_read(char *, int, struct shf *); | |||||||
| char *shf_getse(char *, int, struct shf *); | char *shf_getse(char *, int, struct shf *); | ||||||
| int shf_getchar(struct shf *s); | int shf_getchar(struct shf *s); | ||||||
| int shf_ungetc(int, struct shf *); | int shf_ungetc(int, struct shf *); | ||||||
|  | #ifdef MKSH_SMALL | ||||||
|  | int shf_getc(struct shf *); | ||||||
|  | int shf_putc(int, struct shf *); | ||||||
|  | #else | ||||||
|  | #define shf_getc shf_getc_ | ||||||
|  | #define shf_putc shf_putc_ | ||||||
|  | #endif | ||||||
| int shf_putchar(int, struct shf *); | int shf_putchar(int, struct shf *); | ||||||
| int shf_puts(const char *, struct shf *); | int shf_puts(const char *, struct shf *); | ||||||
| int shf_write(const char *, int, struct shf *); | int shf_write(const char *, int, struct shf *); | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								shf.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								shf.c
									
									
									
									
									
								
							| @@ -24,7 +24,7 @@ | |||||||
|  |  | ||||||
| #include "sh.h" | #include "sh.h" | ||||||
|  |  | ||||||
| __RCSID("$MirOS: src/bin/mksh/shf.c,v 1.41 2011/03/13 01:20:23 tg Exp $"); | __RCSID("$MirOS: src/bin/mksh/shf.c,v 1.42 2011/07/16 17:07:35 tg Exp $"); | ||||||
|  |  | ||||||
| /* flags to shf_emptybuf() */ | /* flags to shf_emptybuf() */ | ||||||
| #define EB_READSW	0x01	/* about to switch to reading */ | #define EB_READSW	0x01	/* about to switch to reading */ | ||||||
| @@ -1028,14 +1028,12 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args) | |||||||
| int | int | ||||||
| shf_getc(struct shf *shf) | shf_getc(struct shf *shf) | ||||||
| { | { | ||||||
| 	return ((shf)->rnleft > 0 ? (shf)->rnleft--, *(shf)->rp++ : | 	return (shf_getc_(shf)); | ||||||
| 	    shf_getchar(shf)); |  | ||||||
| } | } | ||||||
|  |  | ||||||
| int | int | ||||||
| shf_putc(int c, struct shf *shf) | shf_putc(int c, struct shf *shf) | ||||||
| { | { | ||||||
| 	return ((shf)->wnleft == 0 ? shf_putchar((c), (shf)) : | 	return (shf_putc_(c, shf)); | ||||||
| 	    ((shf)->wnleft--, *(shf)->wp++ = (c))); |  | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user