src/physfs_internal.h
changeset 1240 22d4d1bd4e21
parent 1234 86e94cbbffca
child 1242 1e6db80d2393
--- a/src/physfs_internal.h	Tue Mar 20 15:28:19 2012 -0400
+++ b/src/physfs_internal.h	Tue Mar 20 15:38:12 2012 -0400
@@ -96,615 +96,14 @@
 #define free(x) Do not use free() directly.
 /* !!! FIXME: add alloca check here. */
 
-/* The LANG section. */
-/*  please send questions/translations to Ryan: icculus@icculus.org. */
-
-#if (!defined PHYSFS_LANG)
-#  define PHYSFS_LANG PHYSFS_LANG_ENGLISH
-#endif
-
-/* All language strings are UTF-8 encoded! */
-#define PHYSFS_LANG_ENGLISH            1  /* English by Ryan C. Gordon  */
-#define PHYSFS_LANG_RUSSIAN            2  /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_SPANISH            3  /* Spanish by Pedro J. Pérez  */
-#define PHYSFS_LANG_FRENCH             4  /*  French by Stéphane Peter  */
-#define PHYSFS_LANG_GERMAN             5  /*  German by Michael Renner  */
-#define PHYSFS_LANG_PORTUGUESE_BR      6  /* pt-br by Danny Angelo Carminati Grein  */
-
-#if (PHYSFS_LANG == PHYSFS_LANG_ENGLISH)
- #define DIR_ARCHIVE_DESCRIPTION  "Non-archive, direct filesystem I/O"
- #define GRP_ARCHIVE_DESCRIPTION  "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION  "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION  "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION  "PkZip/WinZip/Info-Zip compatible"
- #define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format"
-
- #define ERR_IS_INITIALIZED       "Already initialized"
- #define ERR_NOT_INITIALIZED      "Not initialized"
- #define ERR_INVALID_ARGUMENT     "Invalid argument"
- #define ERR_FILES_STILL_OPEN     "Files still open"
- #define ERR_NO_DIR_CREATE        "Failed to create directories"
- #define ERR_OUT_OF_MEMORY        "Out of memory"
- #define ERR_NOT_IN_SEARCH_PATH   "No such entry in search path"
- #define ERR_NOT_SUPPORTED        "Operation not supported"
- #define ERR_UNSUPPORTED_ARCHIVE  "Archive type unsupported"
- #define ERR_NOT_A_HANDLE         "Not a file handle"
- #define ERR_INSECURE_FNAME       "Insecure filename"
- #define ERR_SYMLINK_DISALLOWED   "Symbolic links are disabled"
- #define ERR_NO_WRITE_DIR         "Write directory is not set"
- #define ERR_NO_SUCH_FILE         "File not found"
- #define ERR_NO_SUCH_PATH         "Path not found"
- #define ERR_NO_SUCH_VOLUME       "Volume not found"
- #define ERR_PAST_EOF             "Past end of file"
- #define ERR_ARC_IS_READ_ONLY     "Archive is read-only"
- #define ERR_IO_ERROR             "I/O error"
- #define ERR_CANT_SET_WRITE_DIR   "Can't set write directory"
- #define ERR_SYMLINK_LOOP         "Infinite symbolic link loop"
- #define ERR_COMPRESSION          "(De)compression error"
- #define ERR_NOT_IMPLEMENTED      "Not implemented"
- #define ERR_OS_ERROR             "Operating system reported error"
- #define ERR_FILE_EXISTS          "File already exists"
- #define ERR_NOT_A_FILE           "Not a file"
- #define ERR_NOT_A_DIR            "Not a directory"
- #define ERR_NOT_AN_ARCHIVE       "Not an archive"
- #define ERR_CORRUPTED            "Corrupted archive"
- #define ERR_SEEK_OUT_OF_RANGE    "Seek out of range"
- #define ERR_BAD_FILENAME         "Bad filename"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BUG) PhysicsFS made a bad system call"
- #define ERR_ARGV0_IS_NULL        "argv0 is NULL"
- #define ERR_NEED_DICT            "need dictionary"
- #define ERR_DATA_ERROR           "data error"
- #define ERR_MEMORY_ERROR         "memory error"
- #define ERR_BUFFER_ERROR         "buffer error"
- #define ERR_VERSION_ERROR        "version error"
- #define ERR_UNKNOWN_ERROR        "unknown error"
- #define ERR_SEARCHPATH_TRUNC     "Search path was truncated"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() was truncated"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() had no dir"
- #define ERR_DISK_FULL            "Disk is full"
- #define ERR_DIRECTORY_FULL       "Directory full"
- #define ERR_MACOS_GENERIC        "MacOS reported error (%d)"
- #define ERR_VOL_LOCKED_HW        "Volume is locked through hardware"
- #define ERR_VOL_LOCKED_SW        "Volume is locked through software"
- #define ERR_FILE_LOCKED          "File is locked"
- #define ERR_FILE_OR_DIR_BUSY     "File/directory is busy"
- #define ERR_FILE_ALREADY_OPEN_W  "File already open for writing"
- #define ERR_FILE_ALREADY_OPEN_R  "File already open for reading"
- #define ERR_INVALID_REFNUM       "Invalid reference number"
- #define ERR_GETTING_FILE_POS     "Error getting file position"
- #define ERR_VOLUME_OFFLINE       "Volume is offline"
- #define ERR_PERMISSION_DENIED    "Permission denied"
- #define ERR_VOL_ALREADY_ONLINE   "Volume already online"
- #define ERR_NO_SUCH_DRIVE        "No such drive"
- #define ERR_NOT_MAC_DISK         "Not a Macintosh disk"
- #define ERR_VOL_EXTERNAL_FS      "Volume belongs to an external filesystem"
- #define ERR_PROBLEM_RENAME       "Problem during rename"
- #define ERR_BAD_MASTER_BLOCK     "Bad master directory block"
- #define ERR_CANT_MOVE_FORBIDDEN  "Attempt to move forbidden"
- #define ERR_WRONG_VOL_TYPE       "Wrong volume type"
- #define ERR_SERVER_VOL_LOST      "Server volume has been disconnected"
- #define ERR_FILE_ID_NOT_FOUND    "File ID not found"
- #define ERR_FILE_ID_EXISTS       "File ID already exists"
- #define ERR_SERVER_NO_RESPOND    "Server not responding"
- #define ERR_USER_AUTH_FAILED     "User authentication failed"
- #define ERR_PWORD_EXPIRED        "Password has expired on server"
- #define ERR_ACCESS_DENIED        "Access denied"
- #define ERR_NOT_A_DOS_DISK       "Not a DOS disk"
- #define ERR_SHARING_VIOLATION    "Sharing violation"
- #define ERR_CANNOT_MAKE          "Cannot make"
- #define ERR_DEV_IN_USE           "Device already in use"
- #define ERR_OPEN_FAILED          "Open failed"
- #define ERR_PIPE_BUSY            "Pipe is busy"
- #define ERR_SHARING_BUF_EXCEEDED "Sharing buffer exceeded"
- #define ERR_TOO_MANY_HANDLES     "Too many open handles"
- #define ERR_SEEK_ERROR           "Seek error"
- #define ERR_DEL_CWD              "Trying to delete current working directory"
- #define ERR_WRITE_PROTECT_ERROR  "Write protect error"
- #define ERR_WRITE_FAULT          "Write fault"
- #define ERR_LOCK_VIOLATION       "Lock violation"
- #define ERR_GEN_FAILURE          "General failure"
- #define ERR_UNCERTAIN_MEDIA      "Uncertain media"
- #define ERR_PROT_VIOLATION       "Protection violation"
- #define ERR_BROKEN_PIPE          "Broken pipe"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_GERMAN)
- #define DIR_ARCHIVE_DESCRIPTION  "Kein Archiv, direkte Ein/Ausgabe in das Dateisystem"
- #define GRP_ARCHIVE_DESCRIPTION  "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION  "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION  "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION  "PkZip/WinZip/Info-Zip kompatibel"
- #define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED       "Bereits initialisiert"
- #define ERR_NOT_INITIALIZED      "Nicht initialisiert"
- #define ERR_INVALID_ARGUMENT     "Ungültiges Argument"
- #define ERR_FILES_STILL_OPEN     "Dateien noch immer geöffnet"
- #define ERR_NO_DIR_CREATE        "Fehler beim Erzeugen der Verzeichnisse"
- #define ERR_OUT_OF_MEMORY        "Kein Speicher mehr frei"
- #define ERR_NOT_IN_SEARCH_PATH   "Eintrag nicht im Suchpfad enthalten"
- #define ERR_NOT_SUPPORTED        "Befehl nicht unterstützt"
- #define ERR_UNSUPPORTED_ARCHIVE  "Archiv-Typ nicht unterstützt"
- #define ERR_NOT_A_HANDLE         "Ist kein Dateideskriptor"
- #define ERR_INSECURE_FNAME       "Unsicherer Dateiname"
- #define ERR_SYMLINK_DISALLOWED   "Symbolische Verweise deaktiviert"
- #define ERR_NO_WRITE_DIR         "Schreibverzeichnis ist nicht gesetzt"
- #define ERR_NO_SUCH_FILE         "Datei nicht gefunden"
- #define ERR_NO_SUCH_PATH         "Pfad nicht gefunden"
- #define ERR_NO_SUCH_VOLUME       "Datencontainer nicht gefunden"
- #define ERR_PAST_EOF             "Hinter dem Ende der Datei"
- #define ERR_ARC_IS_READ_ONLY     "Archiv ist schreibgeschützt"
- #define ERR_IO_ERROR             "Ein/Ausgabe Fehler"
- #define ERR_CANT_SET_WRITE_DIR   "Kann Schreibverzeichnis nicht setzen"
- #define ERR_SYMLINK_LOOP         "Endlosschleife durch symbolische Verweise"
- #define ERR_COMPRESSION          "(De)Kompressionsfehler"
- #define ERR_NOT_IMPLEMENTED      "Nicht implementiert"
- #define ERR_OS_ERROR             "Betriebssystem meldete Fehler"
- #define ERR_FILE_EXISTS          "Datei existiert bereits"
- #define ERR_NOT_A_FILE           "Ist keine Datei"
- #define ERR_NOT_A_DIR            "Ist kein Verzeichnis"
- #define ERR_NOT_AN_ARCHIVE       "Ist kein Archiv"
- #define ERR_CORRUPTED            "Beschädigtes Archiv"
- #define ERR_SEEK_OUT_OF_RANGE    "Suche war ausserhalb der Reichweite"
- #define ERR_BAD_FILENAME         "Unzulässiger Dateiname"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BUG) PhysicsFS verursachte einen ungültigen Systemaufruf"
- #define ERR_ARGV0_IS_NULL        "argv0 ist NULL"
- #define ERR_NEED_DICT            "brauche Wörterbuch"
- #define ERR_DATA_ERROR           "Datenfehler"
- #define ERR_MEMORY_ERROR         "Speicherfehler"
- #define ERR_BUFFER_ERROR         "Bufferfehler"
- #define ERR_VERSION_ERROR        "Versionskonflikt"
- #define ERR_UNKNOWN_ERROR        "Unbekannter Fehler"
- #define ERR_SEARCHPATH_TRUNC     "Suchpfad war abgeschnitten"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() war abgeschnitten"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() bekam kein Verzeichnis"
- #define ERR_DISK_FULL            "Laufwerk ist voll"
- #define ERR_DIRECTORY_FULL       "Verzeichnis ist voll"
- #define ERR_MACOS_GENERIC        "MacOS meldete Fehler (%d)"
- #define ERR_VOL_LOCKED_HW        "Datencontainer ist durch Hardware gesperrt"
- #define ERR_VOL_LOCKED_SW        "Datencontainer ist durch Software gesperrt"
- #define ERR_FILE_LOCKED          "Datei ist gesperrt"
- #define ERR_FILE_OR_DIR_BUSY     "Datei/Verzeichnis ist beschäftigt"
- #define ERR_FILE_ALREADY_OPEN_W  "Datei schon im Schreibmodus geöffnet"
- #define ERR_FILE_ALREADY_OPEN_R  "Datei schon im Lesemodus geöffnet"
- #define ERR_INVALID_REFNUM       "Ungültige Referenznummer"
- #define ERR_GETTING_FILE_POS     "Fehler beim Finden der Dateiposition"
- #define ERR_VOLUME_OFFLINE       "Datencontainer ist offline"
- #define ERR_PERMISSION_DENIED    "Zugriff verweigert"
- #define ERR_VOL_ALREADY_ONLINE   "Datencontainer ist bereits online"
- #define ERR_NO_SUCH_DRIVE        "Laufwerk nicht vorhanden"
- #define ERR_NOT_MAC_DISK         "Ist kein Macintosh Laufwerk"
- #define ERR_VOL_EXTERNAL_FS      "Datencontainer liegt auf einem externen Dateisystem"
- #define ERR_PROBLEM_RENAME       "Fehler beim Umbenennen"
- #define ERR_BAD_MASTER_BLOCK     "Beschädigter Hauptverzeichnisblock"
- #define ERR_CANT_MOVE_FORBIDDEN  "Verschieben nicht erlaubt"
- #define ERR_WRONG_VOL_TYPE       "Falscher Datencontainer-Typ"
- #define ERR_SERVER_VOL_LOST      "Datencontainer am Server wurde getrennt"
- #define ERR_FILE_ID_NOT_FOUND    "Dateikennung nicht gefunden"
- #define ERR_FILE_ID_EXISTS       "Dateikennung existiert bereits"
- #define ERR_SERVER_NO_RESPOND    "Server antwortet nicht"
- #define ERR_USER_AUTH_FAILED     "Benutzerauthentifizierung fehlgeschlagen"
- #define ERR_PWORD_EXPIRED        "Passwort am Server ist abgelaufen"
- #define ERR_ACCESS_DENIED        "Zugriff verweigert"
- #define ERR_NOT_A_DOS_DISK       "Ist kein DOS-Laufwerk"
- #define ERR_SHARING_VIOLATION    "Zugriffsverletzung"
- #define ERR_CANNOT_MAKE          "Kann nicht erzeugen"
- #define ERR_DEV_IN_USE           "Gerät wird bereits benutzt"
- #define ERR_OPEN_FAILED          "Öffnen fehlgeschlagen"
- #define ERR_PIPE_BUSY            "Pipeverbindung ist belegt"
- #define ERR_SHARING_BUF_EXCEEDED "Zugriffsbuffer überschritten"
- #define ERR_TOO_MANY_HANDLES     "Zu viele offene Dateien"
- #define ERR_SEEK_ERROR           "Fehler beim Suchen"
- #define ERR_DEL_CWD              "Aktuelles Arbeitsverzeichnis darf nicht gelöscht werden"
- #define ERR_WRITE_PROTECT_ERROR  "Schreibschutzfehler"
- #define ERR_WRITE_FAULT          "Schreibfehler"
- #define ERR_LOCK_VIOLATION       "Sperrverletzung"
- #define ERR_GEN_FAILURE          "Allgemeiner Fehler"
- #define ERR_UNCERTAIN_MEDIA      "Unsicheres Medium"
- #define ERR_PROT_VIOLATION       "Schutzverletzung"
- #define ERR_BROKEN_PIPE          "Pipeverbindung unterbrochen"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN)
- #define DIR_ARCHIVE_DESCRIPTION  "Не архив, непосредственный ввод/вывод файловой системы"
- #define GRP_ARCHIVE_DESCRIPTION  "Формат группового файла Build engine"
- #define HOG_ARCHIVE_DESCRIPTION  "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION  "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION  "PkZip/WinZip/Info-Zip совместимый"
- #define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED       "Уже инициализирован"
- #define ERR_NOT_INITIALIZED      "Не инициализирован"
- #define ERR_INVALID_ARGUMENT     "Неверный аргумент"
- #define ERR_FILES_STILL_OPEN     "Файлы еще открыты"
- #define ERR_NO_DIR_CREATE        "Не могу создать каталоги"
- #define ERR_OUT_OF_MEMORY        "Кончилась память"
- #define ERR_NOT_IN_SEARCH_PATH   "Нет такого элемента в пути поиска"
- #define ERR_NOT_SUPPORTED        "Операция не поддерживается"
- #define ERR_UNSUPPORTED_ARCHIVE  "Архивы такого типа не поддерживаются"
- #define ERR_NOT_A_HANDLE         "Не файловый дескриптор"
- #define ERR_INSECURE_FNAME       "Небезопасное имя файла"
- #define ERR_SYMLINK_DISALLOWED   "Символьные ссылки отключены"
- #define ERR_NO_WRITE_DIR         "Каталог для записи не установлен"
- #define ERR_NO_SUCH_FILE         "Файл не найден"
- #define ERR_NO_SUCH_PATH         "Путь не найден"
- #define ERR_NO_SUCH_VOLUME       "Том не найден"
- #define ERR_PAST_EOF             "За концом файла"
- #define ERR_ARC_IS_READ_ONLY     "Архив только для чтения"
- #define ERR_IO_ERROR             "Ошибка ввода/вывода"
- #define ERR_CANT_SET_WRITE_DIR   "Не могу установить каталог для записи"
- #define ERR_SYMLINK_LOOP         "Бесконечный цикл символьной ссылки"
- #define ERR_COMPRESSION          "Ошибка (Рас)паковки"
- #define ERR_NOT_IMPLEMENTED      "Не реализовано"
- #define ERR_OS_ERROR             "Операционная система сообщила ошибку"
- #define ERR_FILE_EXISTS          "Файл уже существует"
- #define ERR_NOT_A_FILE           "Не файл"
- #define ERR_NOT_A_DIR            "Не каталог"
- #define ERR_NOT_AN_ARCHIVE       "Не архив"
- #define ERR_CORRUPTED            "Поврежденный архив"
- #define ERR_SEEK_OUT_OF_RANGE    "Позиционирование за пределы"
- #define ERR_BAD_FILENAME         "Неверное имя файла"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BUG) PhysicsFS выполнила неверный системный вызов"
- #define ERR_ARGV0_IS_NULL        "argv0 is NULL"
- #define ERR_NEED_DICT            "нужен словарь"
- #define ERR_DATA_ERROR           "ошибка данных"
- #define ERR_MEMORY_ERROR         "ошибка памяти"
- #define ERR_BUFFER_ERROR         "ошибка буфера"
- #define ERR_VERSION_ERROR        "ошибка версии"
- #define ERR_UNKNOWN_ERROR        "неизвестная ошибка"
- #define ERR_SEARCHPATH_TRUNC     "Путь поиска обрезан"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() обрезан"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() не получил каталог"
- #define ERR_DISK_FULL            "Диск полон"
- #define ERR_DIRECTORY_FULL       "Каталог полон"
- #define ERR_MACOS_GENERIC        "MacOS сообщила ошибку (%d)"
- #define ERR_VOL_LOCKED_HW        "Том блокирован аппаратно"
- #define ERR_VOL_LOCKED_SW        "Том блокирован программно"
- #define ERR_FILE_LOCKED          "Файл заблокирован"
- #define ERR_FILE_OR_DIR_BUSY     "Файл/каталог занят"
- #define ERR_FILE_ALREADY_OPEN_W  "Файл уже открыт на запись"
- #define ERR_FILE_ALREADY_OPEN_R  "Файл уже открыт на чтение"
- #define ERR_INVALID_REFNUM       "Неверное количество ссылок"
- #define ERR_GETTING_FILE_POS     "Ошибка при получении позиции файла"
- #define ERR_VOLUME_OFFLINE       "Том отсоединен"
- #define ERR_PERMISSION_DENIED    "Отказано в разрешении"
- #define ERR_VOL_ALREADY_ONLINE   "Том уже подсоединен"
- #define ERR_NO_SUCH_DRIVE        "Нет такого диска"
- #define ERR_NOT_MAC_DISK         "Не диск Macintosh"
- #define ERR_VOL_EXTERNAL_FS      "Том принадлежит внешней файловой системе"
- #define ERR_PROBLEM_RENAME       "Проблема при переименовании"
- #define ERR_BAD_MASTER_BLOCK     "Плохой главный блок каталога"
- #define ERR_CANT_MOVE_FORBIDDEN  "Попытка переместить запрещена"
- #define ERR_WRONG_VOL_TYPE       "Неверный тип тома"
- #define ERR_SERVER_VOL_LOST      "Серверный том был отсоединен"
- #define ERR_FILE_ID_NOT_FOUND    "Идентификатор файла не найден"
- #define ERR_FILE_ID_EXISTS       "Идентификатор файла уже существует"
- #define ERR_SERVER_NO_RESPOND    "Сервер не отвечает"
- #define ERR_USER_AUTH_FAILED     "Идентификация пользователя не удалась"
- #define ERR_PWORD_EXPIRED        "Пароль на сервере устарел"
- #define ERR_ACCESS_DENIED        "Отказано в доступе"
- #define ERR_NOT_A_DOS_DISK       "Не диск DOS"
- #define ERR_SHARING_VIOLATION    "Нарушение совместного доступа"
- #define ERR_CANNOT_MAKE          "Не могу собрать"
- #define ERR_DEV_IN_USE           "Устройство уже используется"
- #define ERR_OPEN_FAILED          "Открытие не удалось"
- #define ERR_PIPE_BUSY            "Конвейер занят"
- #define ERR_SHARING_BUF_EXCEEDED "Разделяемый буфер переполнен"
- #define ERR_TOO_MANY_HANDLES     "Слишком много открытых дескрипторов"
- #define ERR_SEEK_ERROR           "Ошибка позиционирования"
- #define ERR_DEL_CWD              "Попытка удалить текущий рабочий каталог"
- #define ERR_WRITE_PROTECT_ERROR  "Ошибка защиты записи"
- #define ERR_WRITE_FAULT          "Ошибка записи"
- #define ERR_LOCK_VIOLATION       "Нарушение блокировки"
- #define ERR_GEN_FAILURE          "Общий сбой"
- #define ERR_UNCERTAIN_MEDIA      "Неопределенный носитель"
- #define ERR_PROT_VIOLATION       "Нарушение защиты"
- #define ERR_BROKEN_PIPE          "Сломанный конвейер"
-
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_FRENCH)
- #define DIR_ARCHIVE_DESCRIPTION  "Pas d'archive, E/S directes sur système de fichiers"
- #define GRP_ARCHIVE_DESCRIPTION  "Format Groupfile du moteur Build"
- #define HOG_ARCHIVE_DESCRIPTION  "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION  "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION  "Compatible PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION  "Format WAD du moteur DOOM"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED       "Déjà initialisé"
- #define ERR_NOT_INITIALIZED      "Non initialisé"
- #define ERR_INVALID_ARGUMENT     "Argument invalide"
- #define ERR_FILES_STILL_OPEN     "Fichiers encore ouverts"
- #define ERR_NO_DIR_CREATE        "Echec de la création de répertoires"
- #define ERR_OUT_OF_MEMORY        "A court de mémoire"
- #define ERR_NOT_IN_SEARCH_PATH   "Aucune entrée dans le chemin de recherche"
- #define ERR_NOT_SUPPORTED        "Opération non supportée"
- #define ERR_UNSUPPORTED_ARCHIVE  "Type d'archive non supportée"
- #define ERR_NOT_A_HANDLE         "Pas un descripteur de fichier"
- #define ERR_INSECURE_FNAME       "Nom de fichier dangereux"
- #define ERR_SYMLINK_DISALLOWED   "Les liens symboliques sont désactivés"
- #define ERR_NO_WRITE_DIR         "Le répertoire d'écriture n'est pas spécifié"
- #define ERR_NO_SUCH_FILE         "Fichier non trouvé"
- #define ERR_NO_SUCH_PATH         "Chemin non trouvé"
- #define ERR_NO_SUCH_VOLUME       "Volume non trouvé"
- #define ERR_PAST_EOF             "Au-delà de la fin du fichier"
- #define ERR_ARC_IS_READ_ONLY     "L'archive est en lecture seule"
- #define ERR_IO_ERROR             "Erreur E/S"
- #define ERR_CANT_SET_WRITE_DIR   "Ne peut utiliser le répertoire d'écriture"
- #define ERR_SYMLINK_LOOP         "Boucle infinie dans les liens symboliques"
- #define ERR_COMPRESSION          "Erreur de (dé)compression"
- #define ERR_NOT_IMPLEMENTED      "Non implémenté"
- #define ERR_OS_ERROR             "Erreur rapportée par le système d'exploitation"
- #define ERR_FILE_EXISTS          "Le fichier existe déjà"
- #define ERR_NOT_A_FILE           "Pas un fichier"
- #define ERR_NOT_A_DIR            "Pas un répertoire"
- #define ERR_NOT_AN_ARCHIVE       "Pas une archive"
- #define ERR_CORRUPTED            "Archive corrompue"
- #define ERR_SEEK_OUT_OF_RANGE    "Pointeur de fichier hors de portée"
- #define ERR_BAD_FILENAME         "Mauvais nom de fichier"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BOGUE) PhysicsFS a fait un mauvais appel système, le salaud"
- #define ERR_ARGV0_IS_NULL        "argv0 est NULL"
- #define ERR_NEED_DICT            "a besoin du dico"
- #define ERR_DATA_ERROR           "erreur de données"
- #define ERR_MEMORY_ERROR         "erreur mémoire"
- #define ERR_BUFFER_ERROR         "erreur tampon"
- #define ERR_VERSION_ERROR        "erreur de version"
- #define ERR_UNKNOWN_ERROR        "erreur inconnue"
- #define ERR_SEARCHPATH_TRUNC     "Le chemin de recherche a été tronqué"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() a été tronqué"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() n'a pas de répertoire"
- #define ERR_DISK_FULL            "Disque plein"
- #define ERR_DIRECTORY_FULL       "Répertoire plein"
- #define ERR_MACOS_GENERIC        "Erreur rapportée par MacOS (%d)"
- #define ERR_VOL_LOCKED_HW        "Le volume est verrouillé matériellement"
- #define ERR_VOL_LOCKED_SW        "Le volume est verrouillé par logiciel"
- #define ERR_FILE_LOCKED          "Fichier verrouillé"
- #define ERR_FILE_OR_DIR_BUSY     "Fichier/répertoire occupé"
- #define ERR_FILE_ALREADY_OPEN_W  "Fichier déjà ouvert en écriture"
- #define ERR_FILE_ALREADY_OPEN_R  "Fichier déjà ouvert en lecture"
- #define ERR_INVALID_REFNUM       "Numéro de référence invalide"
- #define ERR_GETTING_FILE_POS     "Erreur lors de l'obtention de la position du pointeur de fichier"
- #define ERR_VOLUME_OFFLINE       "Le volume n'est pas en ligne"
- #define ERR_PERMISSION_DENIED    "Permission refusée"
- #define ERR_VOL_ALREADY_ONLINE   "Volumé déjà en ligne"
- #define ERR_NO_SUCH_DRIVE        "Lecteur inexistant"
- #define ERR_NOT_MAC_DISK         "Pas un disque Macintosh"
- #define ERR_VOL_EXTERNAL_FS      "Le volume appartient à un système de fichiers externe"
- #define ERR_PROBLEM_RENAME       "Problème lors du renommage"
- #define ERR_BAD_MASTER_BLOCK     "Mauvais block maitre de répertoire"
- #define ERR_CANT_MOVE_FORBIDDEN  "Essai de déplacement interdit"
- #define ERR_WRONG_VOL_TYPE       "Mauvais type de volume"
- #define ERR_SERVER_VOL_LOST      "Le volume serveur a été déconnecté"
- #define ERR_FILE_ID_NOT_FOUND    "Identificateur de fichier non trouvé"
- #define ERR_FILE_ID_EXISTS       "Identificateur de fichier existe déjà"
- #define ERR_SERVER_NO_RESPOND    "Le serveur ne répond pas"
- #define ERR_USER_AUTH_FAILED     "Authentification de l'utilisateur échouée"
- #define ERR_PWORD_EXPIRED        "Le mot de passe a expiré sur le serveur"
- #define ERR_ACCESS_DENIED        "Accès refusé"
- #define ERR_NOT_A_DOS_DISK       "Pas un disque DOS"
- #define ERR_SHARING_VIOLATION    "Violation de partage"
- #define ERR_CANNOT_MAKE          "Ne peut faire"
- #define ERR_DEV_IN_USE           "Périphérique déjà en utilisation"
- #define ERR_OPEN_FAILED          "Ouverture échouée"
- #define ERR_PIPE_BUSY            "Le tube est occupé"
- #define ERR_SHARING_BUF_EXCEEDED "Tampon de partage dépassé"
- #define ERR_TOO_MANY_HANDLES     "Trop de descripteurs ouverts"
- #define ERR_SEEK_ERROR           "Erreur de positionement"
- #define ERR_DEL_CWD              "Essai de supprimer le répertoire courant"
- #define ERR_WRITE_PROTECT_ERROR  "Erreur de protection en écriture"
- #define ERR_WRITE_FAULT          "Erreur d'écriture"
- #define ERR_LOCK_VIOLATION       "Violation de verrou"
- #define ERR_GEN_FAILURE          "Echec général"
- #define ERR_UNCERTAIN_MEDIA      "Média incertain"
- #define ERR_PROT_VIOLATION       "Violation de protection"
- #define ERR_BROKEN_PIPE          "Tube cassé"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_PORTUGUESE_BR)
- #define DIR_ARCHIVE_DESCRIPTION  "Não arquivo, E/S sistema de arquivos direto"
- #define GRP_ARCHIVE_DESCRIPTION  "Formato Groupfile do engine Build"
- #define HOG_ARCHIVE_DESCRIPTION  "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION  "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION  "Formato compatível PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION  "Formato WAD do engine DOOM"
- #define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED       "Já inicializado"
- #define ERR_NOT_INITIALIZED      "Não inicializado"
- #define ERR_INVALID_ARGUMENT     "Argumento inválido"
- #define ERR_FILES_STILL_OPEN     "Arquivos ainda abertos"
- #define ERR_NO_DIR_CREATE        "Falha na criação de diretórios"
- #define ERR_OUT_OF_MEMORY        "Memória insuficiente"
- #define ERR_NOT_IN_SEARCH_PATH   "Entrada não encontrada no caminho de busca"
- #define ERR_NOT_SUPPORTED        "Operação não suportada"
- #define ERR_UNSUPPORTED_ARCHIVE  "Tipo de arquivo não suportado"
- #define ERR_NOT_A_HANDLE         "Não é um handler de arquivo"
- #define ERR_INSECURE_FNAME       "Nome de arquivo inseguro"
- #define ERR_SYMLINK_DISALLOWED   "Links simbólicos desabilitados"
- #define ERR_NO_WRITE_DIR         "Diretório de escrita não definido"
- #define ERR_NO_SUCH_FILE         "Arquivo não encontrado"
- #define ERR_NO_SUCH_PATH         "Caminho não encontrado"
- #define ERR_NO_SUCH_VOLUME       "Volume não encontrado"
- #define ERR_PAST_EOF             "Passou o fim do arquivo"
- #define ERR_ARC_IS_READ_ONLY     "Arquivo é somente de leitura"
- #define ERR_IO_ERROR             "Erro de E/S"
- #define ERR_CANT_SET_WRITE_DIR   "Não foi possível definir diretório de escrita"
- #define ERR_SYMLINK_LOOP         "Loop infinito de link simbólico"
- #define ERR_COMPRESSION          "Erro de (Des)compressão"
- #define ERR_NOT_IMPLEMENTED      "Não implementado"
- #define ERR_OS_ERROR             "Erro reportado pelo Sistema Operacional"
- #define ERR_FILE_EXISTS          "Arquivo já existente"
- #define ERR_NOT_A_FILE           "Não é um arquivo"
- #define ERR_NOT_A_DIR            "Não é um diretório"
- #define ERR_NOT_AN_ARCHIVE       "Não é um pacote"
- #define ERR_CORRUPTED            "Pacote corrompido"
- #define ERR_SEEK_OUT_OF_RANGE    "Posicionamento além do tamanho"
- #define ERR_BAD_FILENAME         "Nome de arquivo inválido"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BUG) PhysicsFS realizou uma chamada de sistema inválida"
- #define ERR_ARGV0_IS_NULL        "argv0 é NULL"
- #define ERR_NEED_DICT            "precisa de diretório"
- #define ERR_DATA_ERROR           "erro nos dados"
- #define ERR_MEMORY_ERROR         "erro de memória"
- #define ERR_BUFFER_ERROR         "erro de buffer"
- #define ERR_VERSION_ERROR        "erro na version"
- #define ERR_UNKNOWN_ERROR        "erro desconhecido"
- #define ERR_SEARCHPATH_TRUNC     "Caminho de procura quebrado"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() foi quebrado"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() nao teve diretório"
- #define ERR_DISK_FULL            "Disco cheio"
- #define ERR_DIRECTORY_FULL       "Diretório cheio"
- #define ERR_MACOS_GENERIC        "MacOS reportou um erro (%d)"
- #define ERR_VOL_LOCKED_HW        "Volume travado por hardware"
- #define ERR_VOL_LOCKED_SW        "Volume travado por software"
- #define ERR_FILE_LOCKED          "Arquivo travado"
- #define ERR_FILE_OR_DIR_BUSY     "Arquivo/Diretório está em uso"
- #define ERR_FILE_ALREADY_OPEN_W  "Arquivo já aberto para escrita"
- #define ERR_FILE_ALREADY_OPEN_R  "Arquivo já aberto para leitura"
- #define ERR_INVALID_REFNUM       "Número de referência"
- #define ERR_GETTING_FILE_POS     "Erro ao tentar obter posição do arquivo"
- #define ERR_VOLUME_OFFLINE       "Volume está indisponível"
- #define ERR_PERMISSION_DENIED    "Permissão negada"
- #define ERR_VOL_ALREADY_ONLINE   "Volume disponível"
- #define ERR_NO_SUCH_DRIVE        "Drive inexistente"
- #define ERR_NOT_MAC_DISK         "Não é um disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS      "Volume pertence a um sistema de arquivos externo"
- #define ERR_PROBLEM_RENAME       "Problema durante renomeação"
- #define ERR_BAD_MASTER_BLOCK     "Bloco master do diretório inválido"
- #define ERR_CANT_MOVE_FORBIDDEN  "Tentativa de mover proibida"
- #define ERR_WRONG_VOL_TYPE       "Tipo inválido de volume"
- #define ERR_SERVER_VOL_LOST      "Volume servidor desconectado"
- #define ERR_FILE_ID_NOT_FOUND    "ID de Arquivo não encontrado"
- #define ERR_FILE_ID_EXISTS       "ID de Arquivo já existente"
- #define ERR_SERVER_NO_RESPOND    "Servidor não respondendo"
- #define ERR_USER_AUTH_FAILED     "Autenticação de usuário falhada"
- #define ERR_PWORD_EXPIRED        "Password foi expirada no servidor"
- #define ERR_ACCESS_DENIED        "Accesso negado"
- #define ERR_NOT_A_DOS_DISK       "Não é um disco DOS"
- #define ERR_SHARING_VIOLATION    "Violação de compartilhamento"
- #define ERR_CANNOT_MAKE          "Não pode ser feito"
- #define ERR_DEV_IN_USE           "Device já em uso"
- #define ERR_OPEN_FAILED          "Falaha na abertura"
- #define ERR_PIPE_BUSY            "Fila ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartilhamento excedeu"
- #define ERR_TOO_MANY_HANDLES     "Muitos handles abertos"
- #define ERR_SEEK_ERROR           "Erro de posicionamento"
- #define ERR_DEL_CWD              "Tentando remover diretório de trabalho atual"
- #define ERR_WRITE_PROTECT_ERROR  "Erro de proteção de escrita"
- #define ERR_WRITE_FAULT          "Erro de escrita"
- #define ERR_LOCK_VIOLATION       "Violação de trava"
- #define ERR_GEN_FAILURE          "Falha geral"
- #define ERR_UNCERTAIN_MEDIA      "Media incerta"
- #define ERR_PROT_VIOLATION       "Violação de proteção"
- #define ERR_BROKEN_PIPE          "Fila quebrada"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_SPANISH)
- #define DIR_ARCHIVE_DESCRIPTION  "No es un archivo, E/S directa al sistema de ficheros"
- #define GRP_ARCHIVE_DESCRIPTION  "Formato Build engine Groupfile"
- #define HOG_ARCHIVE_DESCRIPTION  "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION  "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION  "Compatible con PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED       "Ya estaba inicializado"
- #define ERR_NOT_INITIALIZED      "No está inicializado"
- #define ERR_INVALID_ARGUMENT     "Argumento inválido"
- #define ERR_FILES_STILL_OPEN     "Archivos aún abiertos"
- #define ERR_NO_DIR_CREATE        "Fallo al crear los directorios"
- #define ERR_OUT_OF_MEMORY        "Memoria agotada"
- #define ERR_NOT_IN_SEARCH_PATH   "No existe tal entrada en la ruta de búsqueda"
- #define ERR_NOT_SUPPORTED        "Operación no soportada"
- #define ERR_UNSUPPORTED_ARCHIVE  "Tipo de archivo no soportado"
- #define ERR_NOT_A_HANDLE         "No es un manejador de ficheo (file handle)"
- #define ERR_INSECURE_FNAME       "Nombre de archivo inseguro"
- #define ERR_SYMLINK_DISALLOWED   "Los enlaces simbólicos están desactivados"
- #define ERR_NO_WRITE_DIR         "No has configurado un directorio de escritura"
- #define ERR_NO_SUCH_FILE         "Archivo no encontrado"
- #define ERR_NO_SUCH_PATH         "Ruta no encontrada"
- #define ERR_NO_SUCH_VOLUME       "Volumen no encontrado"
- #define ERR_PAST_EOF             "Te pasaste del final del archivo"
- #define ERR_ARC_IS_READ_ONLY     "El archivo es de sólo lectura"
- #define ERR_IO_ERROR             "Error E/S"
- #define ERR_CANT_SET_WRITE_DIR   "No puedo configurar el directorio de escritura"
- #define ERR_SYMLINK_LOOP         "Bucle infnito de enlaces simbólicos"
- #define ERR_COMPRESSION          "Error de (des)compresión"
- #define ERR_NOT_IMPLEMENTED      "No implementado"
- #define ERR_OS_ERROR             "El sistema operativo ha devuelto un error"
- #define ERR_FILE_EXISTS          "El archivo ya existe"
- #define ERR_NOT_A_FILE           "No es un archivo"
- #define ERR_NOT_A_DIR            "No es un directorio"
- #define ERR_NOT_AN_ARCHIVE       "No es un archivo"
- #define ERR_CORRUPTED            "Archivo corrupto"
- #define ERR_SEEK_OUT_OF_RANGE    "Búsqueda fuera de rango"
- #define ERR_BAD_FILENAME         "Nombre de archivo incorrecto"
- #define ERR_PHYSFS_BAD_OS_CALL   "(BUG) PhysicsFS ha hecho una llamada incorrecta al sistema"
- #define ERR_ARGV0_IS_NULL        "argv0 es NULL"
- #define ERR_NEED_DICT            "necesito diccionario"
- #define ERR_DATA_ERROR           "error de datos"
- #define ERR_MEMORY_ERROR         "error de memoria"
- #define ERR_BUFFER_ERROR         "error de buffer"
- #define ERR_VERSION_ERROR        "error de versión"
- #define ERR_UNKNOWN_ERROR        "error desconocido"
- #define ERR_SEARCHPATH_TRUNC     "La ruta de búsqueda ha sido truncada"
- #define ERR_GETMODFN_TRUNC       "GetModuleFileName() ha sido truncado"
- #define ERR_GETMODFN_NO_DIR      "GetModuleFileName() no tenia directorio"
- #define ERR_DISK_FULL            "El disco está lleno"
- #define ERR_DIRECTORY_FULL       "El directorio está lleno"
- #define ERR_MACOS_GENERIC        "MacOS ha devuelto un error (%d)"
- #define ERR_VOL_LOCKED_HW        "El volumen está bloqueado por el hardware"
- #define ERR_VOL_LOCKED_SW        "El volumen está bloqueado por el software"
- #define ERR_FILE_LOCKED          "El archivo está bloqueado"
- #define ERR_FILE_OR_DIR_BUSY     "Fichero o directorio ocupados"
- #define ERR_FILE_ALREADY_OPEN_W  "Fichero ya abierto para escritura"
- #define ERR_FILE_ALREADY_OPEN_R  "Fichero ya abierto para lectura"
- #define ERR_INVALID_REFNUM       "El número de referencia no es válido"
- #define ERR_GETTING_FILE_POS     "Error al tomar la posición del fichero"
- #define ERR_VOLUME_OFFLINE       "El volumen está desconectado"
- #define ERR_PERMISSION_DENIED    "Permiso denegado"
- #define ERR_VOL_ALREADY_ONLINE   "El volumen ya estaba conectado"
- #define ERR_NO_SUCH_DRIVE        "No existe tal unidad"
- #define ERR_NOT_MAC_DISK         "No es un disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS      "El volumen pertence a un sistema de ficheros externo"
- #define ERR_PROBLEM_RENAME       "Problemas al renombrar"
- #define ERR_BAD_MASTER_BLOCK     "Bloque maestro de directorios incorrecto"
- #define ERR_CANT_MOVE_FORBIDDEN  "Intento de mover forbidden"
- #define ERR_WRONG_VOL_TYPE       "Tipo de volumen incorrecto"
- #define ERR_SERVER_VOL_LOST      "El servidor de volúmenes ha sido desconectado"
- #define ERR_FILE_ID_NOT_FOUND    "Identificador de archivo no encontrado"
- #define ERR_FILE_ID_EXISTS       "El identificador de archivo ya existe"
- #define ERR_SERVER_NO_RESPOND    "El servidor no responde"
- #define ERR_USER_AUTH_FAILED     "Fallo al autentificar el usuario"
- #define ERR_PWORD_EXPIRED        "La Password  en el servidor ha caducado"
- #define ERR_ACCESS_DENIED        "Acceso denegado"
- #define ERR_NOT_A_DOS_DISK       "No es un disco de DOS"
- #define ERR_SHARING_VIOLATION    "Violación al compartir"
- #define ERR_CANNOT_MAKE          "No puedo hacer make"
- #define ERR_DEV_IN_USE           "El dispositivo ya estaba en uso"
- #define ERR_OPEN_FAILED          "Fallo al abrir"
- #define ERR_PIPE_BUSY            "Tubería ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartición sobrepasado"
- #define ERR_TOO_MANY_HANDLES     "Demasiados manejadores (handles)"
- #define ERR_SEEK_ERROR           "Error de búsqueda"
- #define ERR_DEL_CWD              "Intentando borrar el directorio de trabajo actual"
- #define ERR_WRITE_PROTECT_ERROR  "Error de protección contra escritura"
- #define ERR_WRITE_FAULT          "Fallo al escribir"
- #define ERR_LOCK_VIOLATION       "Violación del bloqueo"
- #define ERR_GEN_FAILURE          "Fallo general"
- #define ERR_UNCERTAIN_MEDIA      "Medio incierto"
- #define ERR_PROT_VIOLATION       "Violación de la protección"
- #define ERR_BROKEN_PIPE          "Tubería rota"
-
-#else
- #error Please define PHYSFS_LANG.
-#endif
-
-/* end LANG section. */
+#define DIR_ARCHIVE_DESCRIPTION  "Non-archive, direct filesystem I/O"
+#define GRP_ARCHIVE_DESCRIPTION  "Build engine Groupfile format"
+#define HOG_ARCHIVE_DESCRIPTION  "Descent I/II HOG file format"
+#define MVL_ARCHIVE_DESCRIPTION  "Descent II Movielib format"
+#define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
+#define ZIP_ARCHIVE_DESCRIPTION  "PkZip/WinZip/Info-Zip compatible"
+#define WAD_ARCHIVE_DESCRIPTION  "DOOM engine format"
+#define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format"
 
 
 /* !!! FIXME: find something better than "dvoid" and "fvoid" ... */
@@ -739,7 +138,7 @@
          * (forWriting) is non-zero if this is to be used for
          *  the write directory, and zero if this is to be used for an
          *  element of the search path.
-         * Returns NULL on failure, and calls __PHYSFS_setError().
+         * Returns NULL on failure. We ignore any error code you set here.
          *  Returns non-NULL on success. The pointer returned will be
          *  passed as the "opaque" parameter for later calls.
          */
@@ -848,7 +247,7 @@
  *
  * Calling this with a NULL argument is a safe no-op.
  */
-void __PHYSFS_setError(const char *err);
+void __PHYSFS_setError(const PHYSFS_ErrorCode err);
 
 
 /* This byteorder stuff was lifted from SDL. http://www.libsdl.org/ */
@@ -893,16 +292,21 @@
                    int (*cmpfn)(void *, PHYSFS_uint32, PHYSFS_uint32),
                    void (*swapfn)(void *, PHYSFS_uint32, PHYSFS_uint32));
 
+/*
+ * This isn't a formal error code, it's just for BAIL_MACRO.
+ *  It means: there was an error, but someone else already set it for us.
+ */
+#define ERRPASS PHYSFS_ERR_OK
 
 /* These get used all over for lessening code clutter. */
-#define BAIL_MACRO(e, r) do { __PHYSFS_setError(e); return r; } while (0)
-#define BAIL_IF_MACRO(c, e, r) do { if (c) { __PHYSFS_setError(e); return r; } } while (0)
-#define BAIL_MACRO_MUTEX(e, m, r) do {  __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } while (0)
-#define BAIL_IF_MACRO_MUTEX(c, e, m, r) do { if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } } while (0)
-#define GOTO_MACRO(e, g) do { __PHYSFS_setError(e); goto g; } while (0)
-#define GOTO_IF_MACRO(c, e, g) do { if (c) { __PHYSFS_setError(e); goto g; } } while (0)
-#define GOTO_MACRO_MUTEX(e, m, g) do { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } while (0)
-#define GOTO_IF_MACRO_MUTEX(c, e, m, g) do { if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } } while (0)
+#define BAIL_MACRO(e, r) do { if (e) __PHYSFS_setError(e); return r; } while (0)
+#define BAIL_IF_MACRO(c, e, r) do { if (c) { if (e) __PHYSFS_setError(e); return r; } } while (0)
+#define BAIL_MACRO_MUTEX(e, m, r) do { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } while (0)
+#define BAIL_IF_MACRO_MUTEX(c, e, m, r) do { if (c) { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; } } while (0)
+#define GOTO_MACRO(e, g) do { if (e) __PHYSFS_setError(e); goto g; } while (0)
+#define GOTO_IF_MACRO(c, e, g) do { if (c) { if (e) __PHYSFS_setError(e); goto g; } } while (0)
+#define GOTO_MACRO_MUTEX(e, m, g) do { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } while (0)
+#define GOTO_IF_MACRO_MUTEX(c, e, m, g) do { if (c) { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } } while (0)
 
 #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) )