zeropad: Patch zeropad to use SetLogFolder. (modified from a patch by gregory)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3112 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2010-05-29 04:44:56 +00:00
parent 250b5da3ab
commit 0f2af9679c
1 changed files with 29 additions and 2 deletions

View File

@ -41,6 +41,7 @@ u16 status[2];
int pressure; int pressure;
static keyEvent s_event; static keyEvent s_event;
string s_strIniPath = "inis"; string s_strIniPath = "inis";
string s_strLogPath = "logs";
const u32 version = PS2E_PAD_VERSION; const u32 version = PS2E_PAD_VERSION;
const u32 revision = 0; const u32 revision = 0;
@ -217,13 +218,28 @@ void initLogging()
#ifdef PAD_LOG #ifdef PAD_LOG
if (padLog == NULL) if (padLog == NULL)
{ {
padLog = fopen("logs/padLog.txt", "w"); const std::string LogFile(s_strLogPath + "/padLog.txt");
if (padLog) setvbuf(padLog, NULL, _IONBF, 0); padLog = fopen(LogFile.c_str(), "w");
if (padLog == NULL)
SysMessage("Can't create log file %s\n", LogFile.c_str());
else
setvbuf(padLog, NULL, _IONBF, 0);
} }
PAD_LOG("PADinit\n"); PAD_LOG("PADinit\n");
#endif #endif
} }
void CloseLogging()
{
#ifdef PAD_LOG
if (padLog != NULL)
{
fclose(padLog);
padLog = NULL;
}
#endif
}
s32 CALLBACK PADinit(u32 flags) s32 CALLBACK PADinit(u32 flags)
{ {
initLogging(); initLogging();
@ -273,6 +289,17 @@ void CALLBACK PADsetSettingsDir(const char* dir)
// Get the path to the ini directory. // Get the path to the ini directory.
s_strIniPath = (dir==NULL) ? "inis/" : dir; s_strIniPath = (dir==NULL) ? "inis/" : dir;
} }
void CALLBACK PADSetLogFolder(const char* dir)
{
// Get the path to the log directory.
s_strLogPath = (dir==NULL) ? "logs/" : dir;
// Reload the log file after updated the path
CloseLogging();
initLogging();
}
void CALLBACK PADclose() void CALLBACK PADclose()
{ {