]> granicus.if.org Git - python/commitdiff
Added DJGPP version of check_case(), by Pit Scrorpion (Hans Nowak).
authorGuido van Rossum <guido@python.org>
Fri, 13 Feb 1998 23:27:59 +0000 (23:27 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 13 Feb 1998 23:27:59 +0000 (23:27 +0000)
(BTW, the Mac version was by Jack Jansen.)

Python/import.c

index 8c4854712f84b910ca55023218aecf3c62cb7399..7917633f2c02191b92459523ed0d22f6353f417d 100644 (file)
@@ -1005,6 +1005,34 @@ check_case(char *buf, int len, int namelen, char *name)
 }
 #endif /* macintosh */
 
+#ifdef DJGPP
+static int
+check_case(char *buf, int len, int namelen, char *name)
+{
+       struct ffblk ffblk;
+       int done;
+
+       if (getenv("PYTHONCASEOK") != NULL)
+               return 1;
+       done = findfirst(buf, &ffblk, FA_ARCH|FA_RDONLY|FA_HIDDEN);
+       if (done) {
+               PyErr_Format(PyExc_NameError,
+                 "Can't find file for module %.100s\n(filename %.300s)",
+                 name, buf);
+               return 0;
+       }
+
+       if (strncmp(ffblk.ff_name, name, namelen) != 0) {
+               strcpy(buf+len-namelen, ffblk.ff_name);
+               PyErr_Format(PyExc_NameError,
+                 "Case mismatch for module name %.100s\n(filename %.300s)",
+                 name, buf);
+               return 0;
+       }
+       return 1;
+}
+#endif
+
 #endif CHECK_IMPORT_CASE
 
 #ifdef HAVE_STAT