mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-30 00:04:49 -04:00 
			
		
		
		
	Fix unportable code in pgbench.
The buildfarm points out that UINT64_FORMAT might not work with sscanf; it's calibrated for our printf implementation, which might not agree with the platform-supplied sscanf. Fall back to just accepting an unsigned long, which is already more than the documentation promises. Oversight in e6c3ba7fb; back-patch to v11, as that was.
This commit is contained in:
		
							parent
							
								
									8cde7f4948
								
							
						
					
					
						commit
						1a75c1d0c5
					
				| @ -5019,16 +5019,19 @@ set_random_seed(const char *seed) | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		/* parse seed unsigned int value */ | ||||
| 		/* parse unsigned-int seed value */ | ||||
| 		unsigned long ulseed; | ||||
| 		char		garbage; | ||||
| 
 | ||||
| 		if (sscanf(seed, UINT64_FORMAT "%c", &iseed, &garbage) != 1) | ||||
| 		/* Don't try to use UINT64_FORMAT here; it might not work for sscanf */ | ||||
| 		if (sscanf(seed, "%lu%c", &ulseed, &garbage) != 1) | ||||
| 		{ | ||||
| 			fprintf(stderr, | ||||
| 					"unrecognized random seed option \"%s\": expecting an unsigned integer, \"time\" or \"rand\"\n", | ||||
| 					seed); | ||||
| 			return false; | ||||
| 		} | ||||
| 		iseed = (uint64) ulseed; | ||||
| 	} | ||||
| 
 | ||||
| 	if (seed != NULL) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user