Mercurial > cpython-lru_cache-weakref
comparison Python/sysmodule.c @ 35571:35c43674083a 2.4
backport patch [ 1119423 ] python -c readlink()s and stat()s '-c'
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Thu, 15 Sep 2005 13:00:25 +0000 |
| parents | 91038801eb45 |
| children | 612a12178e47 |
comparison
equal
deleted
inserted
replaced
| 35569:2691cbdae59b | 35571:35c43674083a |
|---|---|
| 1186 PyObject *a; | 1186 PyObject *a; |
| 1187 #ifdef HAVE_READLINK | 1187 #ifdef HAVE_READLINK |
| 1188 char link[MAXPATHLEN+1]; | 1188 char link[MAXPATHLEN+1]; |
| 1189 char argv0copy[2*MAXPATHLEN+1]; | 1189 char argv0copy[2*MAXPATHLEN+1]; |
| 1190 int nr = 0; | 1190 int nr = 0; |
| 1191 if (argc > 0 && argv0 != NULL) | 1191 if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) |
| 1192 nr = readlink(argv0, link, MAXPATHLEN); | 1192 nr = readlink(argv0, link, MAXPATHLEN); |
| 1193 if (nr > 0) { | 1193 if (nr > 0) { |
| 1194 /* It's a symlink */ | 1194 /* It's a symlink */ |
| 1195 link[nr] = '\0'; | 1195 link[nr] = '\0'; |
| 1196 if (link[0] == SEP) | 1196 if (link[0] == SEP) |
| 1211 } | 1211 } |
| 1212 } | 1212 } |
| 1213 } | 1213 } |
| 1214 #endif /* HAVE_READLINK */ | 1214 #endif /* HAVE_READLINK */ |
| 1215 #if SEP == '\\' /* Special case for MS filename syntax */ | 1215 #if SEP == '\\' /* Special case for MS filename syntax */ |
| 1216 if (argc > 0 && argv0 != NULL) { | 1216 if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) { |
| 1217 char *q; | 1217 char *q; |
| 1218 #ifdef MS_WINDOWS | 1218 #ifdef MS_WINDOWS |
| 1219 char *ptemp; | 1219 char *ptemp; |
| 1220 if (GetFullPathName(argv0, | 1220 if (GetFullPathName(argv0, |
| 1221 sizeof(fullpath), | 1221 sizeof(fullpath), |
| 1234 if (n > 1 && p[-1] != ':') | 1234 if (n > 1 && p[-1] != ':') |
| 1235 n--; /* Drop trailing separator */ | 1235 n--; /* Drop trailing separator */ |
| 1236 } | 1236 } |
| 1237 } | 1237 } |
| 1238 #else /* All other filename syntaxes */ | 1238 #else /* All other filename syntaxes */ |
| 1239 if (argc > 0 && argv0 != NULL) { | 1239 if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) { |
| 1240 #if defined(HAVE_REALPATH) | 1240 #if defined(HAVE_REALPATH) |
| 1241 if (realpath(argv0, fullpath)) { | 1241 if (realpath(argv0, fullpath)) { |
| 1242 argv0 = fullpath; | 1242 argv0 = fullpath; |
| 1243 } | 1243 } |
| 1244 #endif | 1244 #endif |
