scan with %p didn't work properly on 2-4 machines
This commit is contained in:
		
							parent
							
								
									7987a1fed8
								
							
						
					
					
						commit
						51467658c6
					
				
					 1 changed files with 12 additions and 1 deletions
				
			
		|  | @ -9,6 +9,15 @@ | ||||||
| #include	<stdarg.h> | #include	<stdarg.h> | ||||||
| #include	"loc_incl.h" | #include	"loc_incl.h" | ||||||
| 
 | 
 | ||||||
|  | #if	_EM_WSIZE == _EM_PSIZE | ||||||
|  | #define set_pointer(flags)				/* nothing */ | ||||||
|  | #elif	_EM_LSIZE == _EM_PSIZE | ||||||
|  | #define set_pointer(flags)	(flags |= FL_LONG) | ||||||
|  | #else | ||||||
|  | #error garbage pointer size | ||||||
|  | #define set_pointer(flags)		/* compilation might continue */ | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #define	NUMLEN	512 | #define	NUMLEN	512 | ||||||
| #define	NR_CHARS	256 | #define	NR_CHARS	256 | ||||||
| 
 | 
 | ||||||
|  | @ -251,11 +260,13 @@ _doscan(register FILE *stream, const char *format, va_list ap) | ||||||
| 					*va_arg(ap, int *) = (int) nrchars; | 					*va_arg(ap, int *) = (int) nrchars; | ||||||
| 			} | 			} | ||||||
| 			break; | 			break; | ||||||
|  | 		case 'p':		/* pointer */ | ||||||
|  | 			set_pointer(flags); | ||||||
|  | 			/* fallthrough */ | ||||||
| 		case 'b':		/* binary */ | 		case 'b':		/* binary */ | ||||||
| 		case 'd':		/* decimal */ | 		case 'd':		/* decimal */ | ||||||
| 		case 'i':		/* general integer */ | 		case 'i':		/* general integer */ | ||||||
| 		case 'o':		/* octal */ | 		case 'o':		/* octal */ | ||||||
| 		case 'p':		/* pointer */ |  | ||||||
| 		case 'u':		/* unsigned */ | 		case 'u':		/* unsigned */ | ||||||
| 		case 'x':		/* hexadecimal */ | 		case 'x':		/* hexadecimal */ | ||||||
| 		case 'X':		/* ditto */ | 		case 'X':		/* ditto */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue