tested file natives and handle system
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40260
This commit is contained in:
parent
f072110a44
commit
929957643f
@ -51,7 +51,10 @@ cell_t sm_OpenDirectory(IPluginContext *pContext, const cell_t *params)
|
||||
return 0;
|
||||
}
|
||||
|
||||
IDirectory *pDir = g_LibSys.OpenDirectory(path);
|
||||
char realpath[PLATFORM_MAX_PATH+1];
|
||||
g_LibSys.PathFormat(realpath, sizeof(realpath), "%s/%s", g_SourceMod.GetBaseDir(), path);
|
||||
|
||||
IDirectory *pDir = g_LibSys.OpenDirectory(realpath);
|
||||
if (!pDir)
|
||||
{
|
||||
return 0;
|
||||
@ -95,20 +98,36 @@ cell_t sm_ReadDirEntry(IPluginContext *pContext, const cell_t *params)
|
||||
}
|
||||
|
||||
const char *path = pDir->GetEntryName();
|
||||
if ((err=pContext->StringToLocalUTF8(params[2], params[3],path, NULL))
|
||||
if ((err=pContext->StringToLocalUTF8(params[2], params[3], path, NULL))
|
||||
!= SP_ERROR_NONE)
|
||||
{
|
||||
pContext->ThrowNativeErrorEx(err, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
pDir->NextEntry();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
cell_t PrintStuff(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
char *stuff;
|
||||
pContext->LocalToString(params[1], &stuff);
|
||||
|
||||
FILE *fp = fopen("c:\\debug.txt", "at");
|
||||
fprintf(fp, "%s\n", stuff);
|
||||
fclose(fp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static FileNatives s_FileNatives;
|
||||
|
||||
REGISTER_NATIVES(filesystem)
|
||||
{
|
||||
{"OpenDirectory", sm_OpenDirectory},
|
||||
{"ReadDirEntry", sm_ReadDirEntry},
|
||||
{"PrintStuff", PrintStuff},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
@ -165,5 +165,7 @@ REGISTER_NATIVES(basicstrings)
|
||||
{"IntToString", sm_numtostr},
|
||||
{"StringToFloat", sm_strtofloat},
|
||||
{"FloatToString", sm_floattostr},
|
||||
{"Format", sm_format},
|
||||
{"FormatEx", sm_formatex},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
@ -200,6 +200,11 @@ const char *SourceModBase::GetSMBaseDir()
|
||||
return m_SMBaseDir;
|
||||
}
|
||||
|
||||
const char *SourceModBase::GetBaseDir()
|
||||
{
|
||||
return g_BaseDir.c_str();
|
||||
}
|
||||
|
||||
SMGlobalClass *SMGlobalClass::head = NULL;
|
||||
|
||||
SMGlobalClass::SMGlobalClass()
|
||||
|
@ -37,6 +37,11 @@ public:
|
||||
*/
|
||||
const char *GetSMBaseDir();
|
||||
|
||||
/**
|
||||
* @brief Returns the base folder for file natives.
|
||||
*/
|
||||
const char *GetBaseDir();
|
||||
|
||||
/**
|
||||
* @brief Returns whether our load in this map is late.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user