small improvements

This commit is contained in:
dborth 2009-10-04 19:30:55 +00:00
parent 61f9a207c2
commit 8fba5d861e
3 changed files with 10 additions and 21 deletions

View File

@ -101,6 +101,8 @@ ParseMCDirectory (int slot)
int CardError; int CardError;
int entryNum = 0; int entryNum = 0;
HaltDeviceThread();
// Try to mount the card // Try to mount the card
CardError = MountMC(slot, NOTSILENT); CardError = MountMC(slot, NOTSILENT);
@ -109,20 +111,11 @@ ParseMCDirectory (int slot)
CardError = CARD_FindFirst (slot, &CardDir, TRUE); CardError = CARD_FindFirst (slot, &CardDir, TRUE);
while (CardError != CARD_ERROR_NOFILE) while (CardError != CARD_ERROR_NOFILE)
{ {
BROWSERENTRY * newBrowserList = (BROWSERENTRY *)realloc(browserList, (entryNum+1) * sizeof(BROWSERENTRY)); if(!AddBrowserEntry())
if(!newBrowserList) // failed to allocate required memory
{ {
ResetBrowser(); entryNum = 0;
ErrorPrompt("Out of memory: too many files!");
entryNum = -1;
break; break;
} }
else
{
browserList = newBrowserList;
}
memset(&(browserList[entryNum]), 0, sizeof(BROWSERENTRY)); // clear the new entry
strncpy(browserList[entryNum].filename, (char *)CardDir.filename, MAXJOLIET); strncpy(browserList[entryNum].filename, (char *)CardDir.filename, MAXJOLIET);
StripExt(browserList[entryNum].displayname, browserList[entryNum].filename); // hide file extension StripExt(browserList[entryNum].displayname, browserList[entryNum].filename); // hide file extension
@ -135,6 +128,8 @@ ParseMCDirectory (int slot)
CARD_Unmount(slot); CARD_Unmount(slot);
} }
ResumeDeviceThread();
// Sort the file list // Sort the file list
qsort(browserList, entryNum, sizeof(BROWSERENTRY), FileSortCallback); qsort(browserList, entryNum, sizeof(BROWSERENTRY), FileSortCallback);

View File

@ -241,24 +241,18 @@ ConnectShare (bool silent)
return false; return false;
#endif #endif
int chkU = (strlen(GCSettings.smbuser) > 0) ? 0:1;
int chkP = (strlen(GCSettings.smbpwd) > 0) ? 0:1;
int chkS = (strlen(GCSettings.smbshare) > 0) ? 0:1; int chkS = (strlen(GCSettings.smbshare) > 0) ? 0:1;
int chkI = (strlen(GCSettings.smbip) > 0) ? 0:1; int chkI = (strlen(GCSettings.smbip) > 0) ? 0:1;
// check that all parameters have been set // check that all parameters have been set
if(chkU + chkP + chkS + chkI > 0) if(chkS + chkI > 0)
{ {
if(!silent) if(!silent)
{ {
char msg[50]; char msg[50];
char msg2[100]; char msg2[100];
if(chkU + chkP + chkS + chkI > 1) // more than one thing is wrong if(chkS + chkI > 1) // more than one thing is wrong
sprintf(msg, "Check settings.xml."); sprintf(msg, "Check settings.xml.");
else if(chkU)
sprintf(msg, "Username is blank.");
else if(chkP)
sprintf(msg, "Password is blank.");
else if(chkS) else if(chkS)
sprintf(msg, "Share name is blank."); sprintf(msg, "Share name is blank.");
else if(chkI) else if(chkI)