mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Port import fixes from 2.7.
This commit is contained in:
		
							parent
							
								
									dd21f68963
								
							
						
					
					
						commit
						33d15f7c85
					
				
					 3 changed files with 12 additions and 12 deletions
				
			
		|  | @ -138,7 +138,7 @@ def test_timestamp_overflow(self): | |||
|             with open(source, 'w') as f: | ||||
|                 f.write("x = 5") | ||||
|             try: | ||||
|                 os.utime(source, (2 ** 33, 2 ** 33)) | ||||
|                 os.utime(source, (2 ** 33 - 5, 2 ** 33 - 5)) | ||||
|             except OverflowError: | ||||
|                 self.skipTest("cannot set modification time to large integer") | ||||
|             except OSError as e: | ||||
|  |  | |||
|  | @ -321,7 +321,7 @@ def test_timestamp_overflow(self): | |||
|             with open(source, 'w') as f: | ||||
|                 pass | ||||
|             try: | ||||
|                 os.utime(source, (2 ** 33, 2 ** 33)) | ||||
|                 os.utime(source, (2 ** 33 - 5, 2 ** 33 - 5)) | ||||
|             except OverflowError: | ||||
|                 self.skipTest("cannot set modification time to large integer") | ||||
|             except OSError as e: | ||||
|  |  | |||
|  | @ -1226,9 +1226,9 @@ write_compiled_module(PyCodeObject *co, char *cpathname, struct stat *srcstat) | |||
|         (void) unlink(cpathname); | ||||
|         return; | ||||
|     } | ||||
|     /* Now write the true mtime */ | ||||
|     /* Now write the true mtime (as a 32-bit field) */ | ||||
|     fseek(fp, 4L, 0); | ||||
|     assert(mtime < LONG_MAX); | ||||
|     assert(mtime <= 0xFFFFFFFF); | ||||
|     PyMarshal_WriteLongToFile((long)mtime, fp, Py_MARSHAL_VERSION); | ||||
|     fflush(fp); | ||||
|     fclose(fp); | ||||
|  | @ -1302,14 +1302,14 @@ load_source_module(char *name, char *pathname, FILE *fp) | |||
|                      pathname); | ||||
|         return NULL; | ||||
|     } | ||||
| #if SIZEOF_TIME_T > 4 | ||||
|     /* Python's .pyc timestamp handling presumes that the timestamp fits
 | ||||
|        in 4 bytes. Since the code only does an equality comparison, | ||||
|        ordering is not important and we can safely ignore the higher bits | ||||
|        (collisions are extremely unlikely). | ||||
|      */ | ||||
|     st.st_mtime &= 0xFFFFFFFF; | ||||
| #endif | ||||
|     if (sizeof st.st_mtime > 4) { | ||||
|         /* Python's .pyc timestamp handling presumes that the timestamp fits
 | ||||
|            in 4 bytes. Since the code only does an equality comparison, | ||||
|            ordering is not important and we can safely ignore the higher bits | ||||
|            (collisions are extremely unlikely). | ||||
|          */ | ||||
|         st.st_mtime &= 0xFFFFFFFF; | ||||
|     } | ||||
|     cpathname = make_compiled_pathname( | ||||
|         pathname, buf, (size_t)MAXPATHLEN + 1, !Py_OptimizeFlag); | ||||
|     if (cpathname != NULL && | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Antoine Pitrou
						Antoine Pitrou