ecere/File: Fixed 64 bit support of File://
authorJerome St-Louis <jerome@ecere.com>
Mon, 30 Sep 2013 05:41:02 +0000 (01:41 -0400)
committerJerome St-Louis <jerome@ecere.com>
Mon, 30 Sep 2013 05:59:31 +0000 (01:59 -0400)
compiler/bootstrap/ecere/bootstrap/File.c
ecere/src/sys/File.ec

index e9a89e5..bc85713 100644 (file)
@@ -1049,7 +1049,7 @@ char archiveName[797], * archiveFile;
 
 if(strstr(fileName, "File://") == fileName)
 {
-result = (struct __ecereNameSpace__ecere__com__Instance *)strtoul(fileName + 7, (((void *)0)), 16);
+result = (struct __ecereNameSpace__ecere__com__Instance *)(uintptr_t)strtoull(fileName + 7, (((void *)0)), 16);
 if(result)
 {
 if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)result)->_class, __ecereClass___ecereNameSpace__ecere__sys__File))
index 68030c6..fb30ad6 100644 (file)
@@ -969,7 +969,7 @@ public File FileOpen(char * fileName, FileOpenMode mode)
 #endif
       if(strstr(fileName, "File://") == fileName)
       {
-         result = (File)strtoul(fileName+7, null, 16);
+         result = (File)(uintptr)strtoull(fileName+7, null, 16);
          if(result)
          {
             if(result._class && eClass_IsDerived(result._class, class(File)))