mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	As a side effect of calling PySys_SetArgv (setpythonargv), the
directory containing argv[0] is inserted in front of sys.path. If argv[0] contains no directory, an empty string is inserted. If argv is empty, nothing happens.
This commit is contained in:
		
							parent
							
								
									3b8e20d2c2
								
							
						
					
					
						commit
						a63d9f4d9f
					
				
					 1 changed files with 18 additions and 0 deletions
				
			
		|  | @ -364,5 +364,23 @@ setpythonargv(argc, argv) | |||
| 		fatal("no mem for sys.argv"); | ||||
| 	if (sysset("argv", av) != 0) | ||||
| 		fatal("can't assign sys.argv"); | ||||
| 	if (argc > 0) { | ||||
| 		object *path = sysget("path"); | ||||
| 		if (path != NULL) { | ||||
| 			char *p = strrchr(argv[0], SEP); | ||||
| 			int n; | ||||
| 			object *a; | ||||
| 			if (p == NULL) | ||||
| 				n = 0; | ||||
| 			else | ||||
| 				n = p + 1 - argv[0]; | ||||
| 			a = newsizedstringobject(argv[0], n); | ||||
| 			if (a == NULL) | ||||
| 				fatal("no mem for sys.path insertion"); | ||||
| 			if (inslistitem(path, 0, a) < 0) | ||||
| 				fatal("sys.path.insert(0) failed"); | ||||
| 			DECREF(a); | ||||
| 		} | ||||
| 	} | ||||
| 	DECREF(av); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum