Compiles and runs on Visual C. What an uphill climb THAT was.
This commit is contained in:
parent
87ca6869ed
commit
709626633e
21
Makefile
21
Makefile
|
@ -168,14 +168,18 @@ TESTSRCS := test/test_physfs.c
|
||||||
MAINSRCS := physfs.c archivers/dir.c
|
MAINSRCS := physfs.c archivers/dir.c
|
||||||
|
|
||||||
ifeq ($(strip $(use_archive_zip)),true)
|
ifeq ($(strip $(use_archive_zip)),true)
|
||||||
MAINSRCS += archivers/zip.c archivers/unzip.c
|
MAINSRCS += archivers/zip.c archivers/unzip.c
|
||||||
CFLAGS += -DPHYSFS_SUPPORTS_ZIP
|
CFLAGS += -DPHYSFS_SUPPORTS_ZIP
|
||||||
ifeq ($(strip $(cygwin)),true)
|
ifeq ($(strip $(cygwin)),true)
|
||||||
CFLAGS += -Izlibwin32
|
CFLAGS += -Izlibwin32
|
||||||
LDFLAGS += zlibwin32/zlibstat.lib
|
ifeq ($(strip $(debugging)),true)
|
||||||
else
|
LDFLAGS += zlibwin32/zlibstat_multid.lib
|
||||||
LDFLAGS += -lz
|
else
|
||||||
endif
|
LDFLAGS += zlibwin32/zlibstat_multir.lib
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
LDFLAGS += -lz
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(use_archive_grp)),true)
|
ifeq ($(strip $(use_archive_grp)),true)
|
||||||
|
@ -185,6 +189,7 @@ endif
|
||||||
|
|
||||||
ifeq ($(strip $(cygwin)),true)
|
ifeq ($(strip $(cygwin)),true)
|
||||||
MAINSRCS += platform/win32.c
|
MAINSRCS += platform/win32.c
|
||||||
|
CFLAGS += -DWIN32
|
||||||
else
|
else
|
||||||
MAINSRCS += platform/unix.c
|
MAINSRCS += platform/unix.c
|
||||||
endif
|
endif
|
||||||
|
|
13
physfs.c
13
physfs.c
|
@ -626,7 +626,7 @@ char **PHYSFS_getSearchPath(void)
|
||||||
|
|
||||||
|
|
||||||
int PHYSFS_setSaneConfig(const char *appName, const char *archiveExt,
|
int PHYSFS_setSaneConfig(const char *appName, const char *archiveExt,
|
||||||
int includeCdRoms, int archivesFirst)
|
int includeCdRoms, int archivesFirst)
|
||||||
{
|
{
|
||||||
const char *basedir = PHYSFS_getBaseDir();
|
const char *basedir = PHYSFS_getBaseDir();
|
||||||
const char *userdir = PHYSFS_getUserDir();
|
const char *userdir = PHYSFS_getUserDir();
|
||||||
|
@ -737,9 +737,9 @@ void PHYSFS_permitSymbolicLinks(int allow)
|
||||||
|
|
||||||
|
|
||||||
/* string manipulation in C makes my ass itch. */
|
/* string manipulation in C makes my ass itch. */
|
||||||
char *__PHYSFS_convertToDependent(const char *prepend,
|
char * __PHYSFS_convertToDependent(const char *prepend,
|
||||||
const char *dirName,
|
const char *dirName,
|
||||||
const char *append)
|
const char *append)
|
||||||
{
|
{
|
||||||
const char *dirsep = PHYSFS_getDirSeparator();
|
const char *dirsep = PHYSFS_getDirSeparator();
|
||||||
int sepsize = strlen(dirsep);
|
int sepsize = strlen(dirsep);
|
||||||
|
@ -1233,7 +1233,7 @@ int PHYSFS_close(PHYSFS_file *handle)
|
||||||
|
|
||||||
|
|
||||||
int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
||||||
unsigned int objSize, unsigned int objCount)
|
unsigned int objSize, unsigned int objCount)
|
||||||
{
|
{
|
||||||
FileHandle *h = (FileHandle *) handle->opaque;
|
FileHandle *h = (FileHandle *) handle->opaque;
|
||||||
assert(h != NULL);
|
assert(h != NULL);
|
||||||
|
@ -1244,7 +1244,7 @@ int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
||||||
|
|
||||||
|
|
||||||
int PHYSFS_write(PHYSFS_file *handle, void *buffer,
|
int PHYSFS_write(PHYSFS_file *handle, void *buffer,
|
||||||
unsigned int objSize, unsigned int objCount)
|
unsigned int objSize, unsigned int objCount)
|
||||||
{
|
{
|
||||||
FileHandle *h = (FileHandle *) handle->opaque;
|
FileHandle *h = (FileHandle *) handle->opaque;
|
||||||
assert(h != NULL);
|
assert(h != NULL);
|
||||||
|
@ -1294,6 +1294,5 @@ int PHYSFS_fileLength(PHYSFS_file *handle)
|
||||||
return(h->funcs->fileLength(h));
|
return(h->funcs->fileLength(h));
|
||||||
} /* PHYSFS_filelength */
|
} /* PHYSFS_filelength */
|
||||||
|
|
||||||
|
|
||||||
/* end of physfs.c ... */
|
/* end of physfs.c ... */
|
||||||
|
|
||||||
|
|
82
physfs.h
82
physfs.h
|
@ -141,6 +141,12 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined _MSC_VER)
|
||||||
|
#define __EXPORT__ __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#define __EXPORT__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
typedef struct __PHYSFS_FILE__
|
typedef struct __PHYSFS_FILE__
|
||||||
{
|
{
|
||||||
|
@ -195,7 +201,7 @@ typedef struct __PHYSFS_VERSION__
|
||||||
*
|
*
|
||||||
* This function may be called safely at any time, even before PHYSFS_init().
|
* This function may be called safely at any time, even before PHYSFS_init().
|
||||||
*/
|
*/
|
||||||
void PHYSFS_getLinkedVersion(PHYSFS_Version *ver);
|
__EXPORT__ void PHYSFS_getLinkedVersion(PHYSFS_Version *ver);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -209,7 +215,7 @@ void PHYSFS_getLinkedVersion(PHYSFS_Version *ver);
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_init(const char *argv0);
|
__EXPORT__ int PHYSFS_init(const char *argv0);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -231,7 +237,7 @@ int PHYSFS_init(const char *argv0);
|
||||||
* gleaned from PHYSFS_getLastError(). If failure, state of PhysFS is
|
* gleaned from PHYSFS_getLastError(). If failure, state of PhysFS is
|
||||||
* undefined, and probably badly screwed up.
|
* undefined, and probably badly screwed up.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_deinit(void);
|
__EXPORT__ int PHYSFS_deinit(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -257,7 +263,7 @@ int PHYSFS_deinit(void);
|
||||||
*
|
*
|
||||||
* @return READ ONLY Null-terminated array of READ ONLY structures.
|
* @return READ ONLY Null-terminated array of READ ONLY structures.
|
||||||
*/
|
*/
|
||||||
const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void);
|
__EXPORT__ const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -266,7 +272,7 @@ const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void);
|
||||||
*
|
*
|
||||||
* @param list List of information specified as freeable by this function.
|
* @param list List of information specified as freeable by this function.
|
||||||
*/
|
*/
|
||||||
void PHYSFS_freeList(void *list);
|
__EXPORT__ void PHYSFS_freeList(void *list);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -280,7 +286,7 @@ void PHYSFS_freeList(void *list);
|
||||||
*
|
*
|
||||||
* @return READ ONLY string of last error message.
|
* @return READ ONLY string of last error message.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getLastError(void);
|
__EXPORT__ const char *PHYSFS_getLastError(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -294,7 +300,7 @@ const char *PHYSFS_getLastError(void);
|
||||||
*
|
*
|
||||||
* @return READ ONLY null-terminated string of platform's dir separator.
|
* @return READ ONLY null-terminated string of platform's dir separator.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getDirSeparator(void);
|
__EXPORT__ const char *PHYSFS_getDirSeparator(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -322,7 +328,7 @@ const char *PHYSFS_getDirSeparator(void);
|
||||||
*
|
*
|
||||||
* @param allow nonzero to permit symlinks, zero to deny linking.
|
* @param allow nonzero to permit symlinks, zero to deny linking.
|
||||||
*/
|
*/
|
||||||
void PHYSFS_permitSymbolicLinks(int allow);
|
__EXPORT__ void PHYSFS_permitSymbolicLinks(int allow);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -354,7 +360,7 @@ void PHYSFS_permitSymbolicLinks(int allow);
|
||||||
*
|
*
|
||||||
* @return Null-terminated array of null-terminated strings.
|
* @return Null-terminated array of null-terminated strings.
|
||||||
*/
|
*/
|
||||||
char **PHYSFS_getCdRomDirs(void);
|
__EXPORT__ char **PHYSFS_getCdRomDirs(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -368,7 +374,7 @@ char **PHYSFS_getCdRomDirs(void);
|
||||||
*
|
*
|
||||||
* @return READ ONLY string of base dir in platform-dependent notation.
|
* @return READ ONLY string of base dir in platform-dependent notation.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getBaseDir(void);
|
__EXPORT__ const char *PHYSFS_getBaseDir(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -386,7 +392,7 @@ const char *PHYSFS_getBaseDir(void);
|
||||||
*
|
*
|
||||||
* @return READ ONLY string of user dir in platform-dependent notation.
|
* @return READ ONLY string of user dir in platform-dependent notation.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getUserDir(void);
|
__EXPORT__ const char *PHYSFS_getUserDir(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -395,7 +401,7 @@ const char *PHYSFS_getUserDir(void);
|
||||||
* @return READ ONLY string of write dir in platform-dependent notation,
|
* @return READ ONLY string of write dir in platform-dependent notation,
|
||||||
* OR NULL IF NO WRITE PATH IS CURRENTLY SET.
|
* OR NULL IF NO WRITE PATH IS CURRENTLY SET.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getWriteDir(void);
|
__EXPORT__ const char *PHYSFS_getWriteDir(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -415,7 +421,7 @@ const char *PHYSFS_getWriteDir(void);
|
||||||
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int PHYSFS_setWriteDir(const char *newDir);
|
__EXPORT__ int PHYSFS_setWriteDir(const char *newDir);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -429,7 +435,7 @@ int PHYSFS_setWriteDir(const char *newDir);
|
||||||
* missing, etc). Specifics of the error can be
|
* missing, etc). Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_addToSearchPath(const char *newDir, int appendToPath);
|
__EXPORT__ int PHYSFS_addToSearchPath(const char *newDir, int appendToPath);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -445,7 +451,7 @@ int PHYSFS_addToSearchPath(const char *newDir, int appendToPath);
|
||||||
* @return nonzero on success, zero on failure.
|
* @return nonzero on success, zero on failure.
|
||||||
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_removeFromSearchPath(const char *oldDir);
|
__EXPORT__ int PHYSFS_removeFromSearchPath(const char *oldDir);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -465,7 +471,7 @@ int PHYSFS_removeFromSearchPath(const char *oldDir);
|
||||||
* @return Null-terminated array of null-terminated strings. NULL if there
|
* @return Null-terminated array of null-terminated strings. NULL if there
|
||||||
* was a problem (read: OUT OF MEMORY).
|
* was a problem (read: OUT OF MEMORY).
|
||||||
*/
|
*/
|
||||||
char **PHYSFS_getSearchPath(void);
|
__EXPORT__ char **PHYSFS_getSearchPath(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -521,8 +527,10 @@ char **PHYSFS_getSearchPath(void);
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_setSaneConfig(const char *appName, const char *archiveExt,
|
__EXPORT__ int PHYSFS_setSaneConfig(const char *appName,
|
||||||
int includeCdRoms, int archivesFirst);
|
const char *archiveExt,
|
||||||
|
int includeCdRoms,
|
||||||
|
int archivesFirst);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -541,7 +549,7 @@ int PHYSFS_setSaneConfig(const char *appName, const char *archiveExt,
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_mkdir(const char *dirName);
|
__EXPORT__ int PHYSFS_mkdir(const char *dirName);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -564,7 +572,7 @@ int PHYSFS_mkdir(const char *dirName);
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_delete(const char *filename);
|
__EXPORT__ int PHYSFS_delete(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -586,7 +594,7 @@ int PHYSFS_delete(const char *filename);
|
||||||
* @return READ ONLY string of element of search path containing the
|
* @return READ ONLY string of element of search path containing the
|
||||||
* the file in question. NULL if not found.
|
* the file in question. NULL if not found.
|
||||||
*/
|
*/
|
||||||
const char *PHYSFS_getRealDir(const char *filename);
|
__EXPORT__ const char *PHYSFS_getRealDir(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -625,7 +633,7 @@ const char *PHYSFS_getRealDir(const char *filename);
|
||||||
* @param dir directory in platform-independent notation to enumerate.
|
* @param dir directory in platform-independent notation to enumerate.
|
||||||
* @return Null-terminated array of null-terminated strings.
|
* @return Null-terminated array of null-terminated strings.
|
||||||
*/
|
*/
|
||||||
char **PHYSFS_enumerateFiles(const char *dir);
|
__EXPORT__ char **PHYSFS_enumerateFiles(const char *dir);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -639,7 +647,7 @@ char **PHYSFS_enumerateFiles(const char *dir);
|
||||||
* @param fname filename in platform-independent notation.
|
* @param fname filename in platform-independent notation.
|
||||||
* @return non-zero if filename exists. zero otherwise.
|
* @return non-zero if filename exists. zero otherwise.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_exists(const char *fname);
|
__EXPORT__ int PHYSFS_exists(const char *fname);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -653,7 +661,7 @@ int PHYSFS_exists(const char *fname);
|
||||||
* @param fname filename in platform-independent notation.
|
* @param fname filename in platform-independent notation.
|
||||||
* @return non-zero if filename exists and is a directory. zero otherwise.
|
* @return non-zero if filename exists and is a directory. zero otherwise.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_isDirectory(const char *fname);
|
__EXPORT__ int PHYSFS_isDirectory(const char *fname);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -667,7 +675,7 @@ int PHYSFS_isDirectory(const char *fname);
|
||||||
* @param fname filename in platform-independent notation.
|
* @param fname filename in platform-independent notation.
|
||||||
* @return non-zero if filename exists and is a symlink. zero otherwise.
|
* @return non-zero if filename exists and is a symlink. zero otherwise.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_isSymbolicLink(const char *fname);
|
__EXPORT__ int PHYSFS_isSymbolicLink(const char *fname);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,7 +692,7 @@ int PHYSFS_isSymbolicLink(const char *fname);
|
||||||
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
||||||
* of the error can be gleaned from PHYSFS_getLastError().
|
* of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
PHYSFS_file *PHYSFS_openWrite(const char *filename);
|
__EXPORT__ PHYSFS_file *PHYSFS_openWrite(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -702,7 +710,7 @@ PHYSFS_file *PHYSFS_openWrite(const char *filename);
|
||||||
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
||||||
* of the error can be gleaned from PHYSFS_getLastError().
|
* of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
PHYSFS_file *PHYSFS_openAppend(const char *filename);
|
__EXPORT__ PHYSFS_file *PHYSFS_openAppend(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -719,7 +727,7 @@ PHYSFS_file *PHYSFS_openAppend(const char *filename);
|
||||||
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
* @return A valid PhysicsFS filehandle on success, NULL on error. Specifics
|
||||||
* of the error can be gleaned from PHYSFS_getLastError().
|
* of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
PHYSFS_file *PHYSFS_openRead(const char *filename);
|
__EXPORT__ PHYSFS_file *PHYSFS_openRead(const char *filename);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -734,7 +742,7 @@ PHYSFS_file *PHYSFS_openRead(const char *filename);
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_close(PHYSFS_file *handle);
|
__EXPORT__ int PHYSFS_close(PHYSFS_file *handle);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -748,8 +756,8 @@ int PHYSFS_close(PHYSFS_file *handle);
|
||||||
* the reason this might be < (objCount), as can PHYSFS_eof().
|
* the reason this might be < (objCount), as can PHYSFS_eof().
|
||||||
* -1 if complete failure.
|
* -1 if complete failure.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
__EXPORT__ int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
||||||
unsigned int objSize, unsigned int objCount);
|
unsigned int objSize, unsigned int objCount);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -762,8 +770,8 @@ int PHYSFS_read(PHYSFS_file *handle, void *buffer,
|
||||||
* @return number of objects written. PHYSFS_getLastError() can shed light on
|
* @return number of objects written. PHYSFS_getLastError() can shed light on
|
||||||
* the reason this might be < (objCount). -1 if complete failure.
|
* the reason this might be < (objCount). -1 if complete failure.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_write(PHYSFS_file *handle, void *buffer,
|
__EXPORT__ int PHYSFS_write(PHYSFS_file *handle, void *buffer,
|
||||||
unsigned int objSize, unsigned int objCount);
|
unsigned int objSize, unsigned int objCount);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -772,7 +780,7 @@ int PHYSFS_write(PHYSFS_file *handle, void *buffer,
|
||||||
* @param handle handle returned from PHYSFS_openRead().
|
* @param handle handle returned from PHYSFS_openRead().
|
||||||
* @return nonzero if EOF, zero if not.
|
* @return nonzero if EOF, zero if not.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_eof(PHYSFS_file *handle);
|
__EXPORT__ int PHYSFS_eof(PHYSFS_file *handle);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -782,7 +790,7 @@ int PHYSFS_eof(PHYSFS_file *handle);
|
||||||
* @return offset in bytes from start of file. -1 if error occurred.
|
* @return offset in bytes from start of file. -1 if error occurred.
|
||||||
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
* Specifics of the error can be gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_tell(PHYSFS_file *handle);
|
__EXPORT__ int PHYSFS_tell(PHYSFS_file *handle);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -795,7 +803,7 @@ int PHYSFS_tell(PHYSFS_file *handle);
|
||||||
* @return nonzero on success, zero on error. Specifics of the error can be
|
* @return nonzero on success, zero on error. Specifics of the error can be
|
||||||
* gleaned from PHYSFS_getLastError().
|
* gleaned from PHYSFS_getLastError().
|
||||||
*/
|
*/
|
||||||
int PHYSFS_seek(PHYSFS_file *handle, int pos);
|
__EXPORT__ int PHYSFS_seek(PHYSFS_file *handle, int pos);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -809,7 +817,7 @@ int PHYSFS_seek(PHYSFS_file *handle, int pos);
|
||||||
* @param handle handle returned from PHYSFS_open*().
|
* @param handle handle returned from PHYSFS_open*().
|
||||||
* @return size in bytes of the file. -1 if can't be determined.
|
* @return size in bytes of the file. -1 if can't be determined.
|
||||||
*/
|
*/
|
||||||
int PHYSFS_fileLength(PHYSFS_file *handle);
|
__EXPORT__ int PHYSFS_fileLength(PHYSFS_file *handle);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -572,10 +572,35 @@ int main(int argc, char **argv)
|
||||||
#if (defined HAVE_READLINE)
|
#if (defined HAVE_READLINE)
|
||||||
buf = readline("> ");
|
buf = readline("> ");
|
||||||
#else
|
#else
|
||||||
|
int i;
|
||||||
buf = malloc(512);
|
buf = malloc(512);
|
||||||
memset(buf, '\0', 512);
|
memset(buf, '\0', 512);
|
||||||
scanf("%s", buf);
|
printf("> ");
|
||||||
|
for (i = 0; i < 511; i++)
|
||||||
|
{
|
||||||
|
int ch = fgetc(stdin);
|
||||||
|
if (ch == EOF)
|
||||||
|
{
|
||||||
|
strcpy(buf, "quit");
|
||||||
|
break;
|
||||||
|
} /* if */
|
||||||
|
else if ((ch == '\n') || (ch == '\r'))
|
||||||
|
{
|
||||||
|
buf[i] = '\0';
|
||||||
|
break;
|
||||||
|
} /* else if */
|
||||||
|
else if (ch == '\b')
|
||||||
|
{
|
||||||
|
if (i > 0)
|
||||||
|
i--;
|
||||||
|
} /* else if */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buf[i] = (char) ch;
|
||||||
|
} /* else */
|
||||||
|
} /* for */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rc = process_command(buf);
|
rc = process_command(buf);
|
||||||
free(buf);
|
free(buf);
|
||||||
} while (rc);
|
} while (rc);
|
||||||
|
|
Loading…
Reference in New Issue