Просмотр исходного кода

Make sure that the writing functions get used when a write mode is
specified.

Ryan C. Gordon 24 лет назад
Родитель
Сommit
3ad4abe6ce
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      archivers/dir.c

+ 2 - 2
archivers/dir.c

@@ -209,7 +209,6 @@ static DirHandle *DIR_openArchive(const char *name, int forWriting)
     if (strcmp((name + namelen) - seplen, dirsep) != 0)
         strcat((char *) (retval->opaque), dirsep);
 
-    retval->funcs = &__PHYSFS_DirFunctions_DIR;
     return(retval);
 } /* DIR_openArchive */
 
@@ -293,7 +292,8 @@ static FileHandle *doOpen(DirHandle *h, const char *name, const char *mode)
 
     retval->opaque = (void *) rc;
     retval->dirHandle = h;
-    retval->funcs = &__PHYSFS_FileFunctions_DIR;
+    retval->funcs = (mode[0] == 'r') ?
+                &__PHYSFS_FileFunctions_DIR : &__PHYSFS_FileFunctions_DIRW;
     return(retval);
 } /* doOpen */