Fixed string marshalling
parent
974feee6a8
commit
2da0bb9d5d
|
@ -106,8 +106,6 @@ namespace PhysFS
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate IntPtr FnGetLastError();
|
public delegate IntPtr FnGetLastError();
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate string FnGetDirSeparator();
|
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
|
||||||
public delegate void FnPermitSymbolicLinks(int permit);
|
public delegate void FnPermitSymbolicLinks(int permit);
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate int FnSetWriteDir(string s);
|
public delegate int FnSetWriteDir(string s);
|
||||||
|
@ -116,8 +114,6 @@ namespace PhysFS
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate int FnSetSaneConfig(string s1, string s2, string s3, int i1, int i2);
|
public delegate int FnSetSaneConfig(string s1, string s2, string s3, int i1, int i2);
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate string FnGetRealDir(string s);
|
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
|
||||||
public delegate IntPtr FnEnumerateFiles(string s);
|
public delegate IntPtr FnEnumerateFiles(string s);
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
public delegate long FnGetLastModTime(string s);
|
public delegate long FnGetLastModTime(string s);
|
||||||
|
@ -144,12 +140,12 @@ namespace PhysFS
|
||||||
public static FnSupportedArchiveTypes PHYSFS_supportedArchiveTypes;
|
public static FnSupportedArchiveTypes PHYSFS_supportedArchiveTypes;
|
||||||
public static FnFreeList PHYSFS_freeList;
|
public static FnFreeList PHYSFS_freeList;
|
||||||
public static FnGetLastError PHYSFS_getLastError;
|
public static FnGetLastError PHYSFS_getLastError;
|
||||||
public static FnGetDirSeparator PHYSFS_getDirSeparator;
|
public static FnGetLastError PHYSFS_getDirSeparator;
|
||||||
public static FnPermitSymbolicLinks PHYSFS_permitSymbolicLinks;
|
public static FnPermitSymbolicLinks PHYSFS_permitSymbolicLinks;
|
||||||
public static FnSupportedArchiveTypes PHYSFS_getCdRomDirs;
|
public static FnSupportedArchiveTypes PHYSFS_getCdRomDirs;
|
||||||
public static FnGetDirSeparator PHYSFS_getBaseDir;
|
public static FnGetLastError PHYSFS_getBaseDir;
|
||||||
public static FnGetDirSeparator PHYSFS_getUserDir;
|
public static FnGetLastError PHYSFS_getUserDir;
|
||||||
public static FnGetDirSeparator PHYSFS_getWriteDir;
|
public static FnGetLastError PHYSFS_getWriteDir;
|
||||||
public static FnSetWriteDir PHYSFS_setWriteDir;
|
public static FnSetWriteDir PHYSFS_setWriteDir;
|
||||||
public static FnAddToSearchPath PHYSFS_addToSearchPath;
|
public static FnAddToSearchPath PHYSFS_addToSearchPath;
|
||||||
public static FnSetWriteDir PHYSFS_removeFromSearchPath;
|
public static FnSetWriteDir PHYSFS_removeFromSearchPath;
|
||||||
|
@ -157,7 +153,7 @@ namespace PhysFS
|
||||||
public static FnSetSaneConfig PHYSFS_setSaneConfig;
|
public static FnSetSaneConfig PHYSFS_setSaneConfig;
|
||||||
public static FnSetWriteDir PHYSFS_mkdir;
|
public static FnSetWriteDir PHYSFS_mkdir;
|
||||||
public static FnSetWriteDir PHYSFS_delete;
|
public static FnSetWriteDir PHYSFS_delete;
|
||||||
public static FnGetRealDir PHYSFS_getRealDir;
|
public static FnEnumerateFiles PHYSFS_getRealDir;
|
||||||
public static FnEnumerateFiles PHYSFS_enumerateFiles;
|
public static FnEnumerateFiles PHYSFS_enumerateFiles;
|
||||||
public static FnSetWriteDir PHYSFS_exists;
|
public static FnSetWriteDir PHYSFS_exists;
|
||||||
public static FnSetWriteDir PHYSFS_isDirectory;
|
public static FnSetWriteDir PHYSFS_isDirectory;
|
||||||
|
@ -179,7 +175,7 @@ namespace PhysFS
|
||||||
public static FnDeinit PHYSFS_symbolicLinksPermitted;
|
public static FnDeinit PHYSFS_symbolicLinksPermitted;
|
||||||
public static FnSetAllocator PHYSFS_setAllocator;
|
public static FnSetAllocator PHYSFS_setAllocator;
|
||||||
public static FnMount PHYSFS_mount;
|
public static FnMount PHYSFS_mount;
|
||||||
public static FnGetRealDir PHYSFS_getMountPoint;
|
public static FnEnumerateFiles PHYSFS_getMountPoint;
|
||||||
public static FnGetCdRomDirsCallback PHYSFS_getCdRomDirsCallback;
|
public static FnGetCdRomDirsCallback PHYSFS_getCdRomDirsCallback;
|
||||||
public static FnGetCdRomDirsCallback PHYSFS_getSearchPathCallback;
|
public static FnGetCdRomDirsCallback PHYSFS_getSearchPathCallback;
|
||||||
public static FnEnumerateFilesCallback PHYSFS_enumerateFilesCallback;
|
public static FnEnumerateFilesCallback PHYSFS_enumerateFilesCallback;
|
||||||
|
|
|
@ -243,7 +243,7 @@ namespace PhysFS
|
||||||
/// <returns>Platform-dependent dir separator string</returns>
|
/// <returns>Platform-dependent dir separator string</returns>
|
||||||
public static string GetDirSeparator()
|
public static string GetDirSeparator()
|
||||||
{
|
{
|
||||||
return Interop.PHYSFS_getDirSeparator();
|
return Marshal.PtrToStringAnsi(Interop.PHYSFS_getDirSeparator());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -367,7 +367,7 @@ namespace PhysFS
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string GetBaseDir()
|
public static string GetBaseDir()
|
||||||
{
|
{
|
||||||
return Interop.PHYSFS_getBaseDir();
|
return Marshal.PtrToStringAnsi(Interop.PHYSFS_getBaseDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -385,7 +385,7 @@ namespace PhysFS
|
||||||
/// <returns>String of user dir in platform-dependent notation.</returns>
|
/// <returns>String of user dir in platform-dependent notation.</returns>
|
||||||
public static string GetUserDir()
|
public static string GetUserDir()
|
||||||
{
|
{
|
||||||
return Interop.PHYSFS_getUserDir();
|
return Marshal.PtrToStringAnsi(Interop.PHYSFS_getUserDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -397,7 +397,7 @@ namespace PhysFS
|
||||||
/// <returns>String of write dir in platform-dependent notation, OR null IF NO WRITE PATH IS CURRENTLY SET</returns>
|
/// <returns>String of write dir in platform-dependent notation, OR null IF NO WRITE PATH IS CURRENTLY SET</returns>
|
||||||
public static string GetWriteDir()
|
public static string GetWriteDir()
|
||||||
{
|
{
|
||||||
return Interop.PHYSFS_getWriteDir();
|
return Marshal.PtrToStringAnsi(Interop.PHYSFS_getWriteDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -589,7 +589,7 @@ namespace PhysFS
|
||||||
/// <returns>String of element of search path containing the the file in question. null if not found.</returns>
|
/// <returns>String of element of search path containing the the file in question. null if not found.</returns>
|
||||||
public static string GetRealDir(string filename)
|
public static string GetRealDir(string filename)
|
||||||
{
|
{
|
||||||
return Interop.PHYSFS_getRealDir(filename);
|
return Marshal.PtrToStringAnsi(Interop.PHYSFS_getRealDir(filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -692,7 +692,7 @@ namespace PhysFS
|
||||||
/// <returns>String of mount point if added to path</returns>
|
/// <returns>String of mount point if added to path</returns>
|
||||||
public static string GetMountPoint(string dir)
|
public static string GetMountPoint(string dir)
|
||||||
{
|
{
|
||||||
var s = Interop.PHYSFS_getMountPoint(dir);
|
var s = Marshal.PtrToStringAnsi(Interop.PHYSFS_getMountPoint(dir));
|
||||||
if(s == null)
|
if(s == null)
|
||||||
{
|
{
|
||||||
throw new PhysFSException();
|
throw new PhysFSException();
|
||||||
|
|
Loading…
Reference in New Issue