minor bugfixes

This commit is contained in:
dborth 2008-11-26 07:39:09 +00:00
parent d52ef4570f
commit ab6fb44b18
7 changed files with 26 additions and 18 deletions

View File

@ -333,6 +333,7 @@ static int
getentry (int entrycount, unsigned char dvdbuffer[])
{
char fname[512]; /* Huge, but experience has determined this */
char tmpname[512];
char *ptr;
char *filename;
char *filenamelength;
@ -412,8 +413,9 @@ getentry (int entrycount, unsigned char dvdbuffer[])
*rr = 0;
strcpy (filelist[entrycount].filename, fname);
fname[MAXDISPLAY - 1] = 0;
strcpy (filelist[entrycount].displayname, fname);
StripExt(tmpname, fname); // hide file extension
tmpname[MAXDISPLAY - 1] = 0;
strcpy (filelist[entrycount].displayname, tmpname);
memcpy (&offset32, &dvdbuffer[diroffset + EXTENT], 4);

View File

@ -124,6 +124,7 @@ ParseFATdirectory(int method)
int nbfiles = 0;
DIR_ITER *fatdir;
char filename[MAXPATHLEN];
char tmpname[MAXPATHLEN];
struct stat filestat;
char msg[128];
@ -160,7 +161,8 @@ ParseFATdirectory(int method)
{
memset(&filelist[nbfiles], 0, sizeof(FILEENTRIES));
strncpy(filelist[nbfiles].filename, filename, MAXPATHLEN);
strncpy(filelist[nbfiles].displayname, filename, MAXDISPLAY+1); // crop name for display
StripExt(tmpname, filename); // hide file extension
strncpy(filelist[nbfiles].displayname, tmpname, MAXDISPLAY+1); // crop name for display
filelist[nbfiles].length = filestat.st_size;
filelist[nbfiles].flags = (filestat.st_mode & _IFDIR) == 0 ? 0 : 1; // flag this as a dir
nbfiles++;

View File

@ -468,7 +468,7 @@ int FileSelector (int method)
break;
case METHOD_SMB:
maxfiles = ParseSMBdirectory();
maxfiles = ParseSMBdirectory(NOTSILENT);
break;
}
@ -690,10 +690,10 @@ OpenSMB (int method)
// Connect to network share
if(ConnectShare (NOTSILENT))
{
// change current dir to root dir
// change current dir to load dir
sprintf(currentdir, "/%s", GCSettings.LoadFolder);
maxfiles = ParseSMBdirectory ();
maxfiles = ParseSMBdirectory (SILENT);
if (maxfiles > 0)
{
return FileSelector (method);

View File

@ -630,8 +630,7 @@ ShowFiles (FILEENTRIES filelist[], int maxfiles, int offset, int selection)
}
else
{
// hide file extension on listing (.7z, .fig, .smc)
StripExt(text, filelist[i].displayname);
sprintf(text, filelist[i].displayname);
}
if (j == (selection - offset))
{

View File

@ -144,13 +144,14 @@ char * SMBPath(char * path)
* Load the directory and put in the filelist array
*****************************************************************************/
int
ParseSMBdirectory ()
ParseSMBdirectory (bool silent)
{
if(!ConnectShare (NOTSILENT))
return 0;
int filecount = 0;
char searchpath[1024];
char tmpname[MAXJOLIET];
SMBDIRENTRY smbdir;
// initialize selection
@ -167,13 +168,17 @@ ParseSMBdirectory ()
if (SMB_FindFirst
(SMBPath(searchpath), SMB_SRCH_READONLY | SMB_SRCH_DIRECTORY, &smbdir, smbconn) != SMB_SUCCESS)
{
char msg[200];
sprintf(msg, "Could not open %s", currentdir);
WaitPrompt (msg);
if(!silent)
{
char msg[200];
sprintf(msg, "Could not open %s", currentdir);
WaitPrompt (msg);
}
// if we can't open the dir, open root dir
sprintf(searchpath, "/");
sprintf(searchpath,"*");
sprintf(currentdir,"/");
if (SMB_FindFirst
(SMBPath(searchpath), SMB_SRCH_READONLY | SMB_SRCH_DIRECTORY, &smbdir, smbconn) != SMB_SUCCESS)
@ -195,8 +200,8 @@ ParseSMBdirectory ()
else
filelist[filecount].flags = 0;
// Update display name
memcpy (&filelist[filecount].displayname, smbdir.name, MAXDISPLAY);
StripExt(tmpname, smbdir.name); // hide file extension
memcpy (&filelist[filecount].displayname, tmpname, MAXDISPLAY);
filelist[filecount].displayname[MAXDISPLAY] = 0;
strcpy (filelist[filecount].filename, smbdir.name);

View File

@ -18,7 +18,7 @@ bool InitializeNetwork(bool silent);
bool ConnectShare (bool silent);
char * SMBPath(char * path);
int UpdateSMBdirname();
int ParseSMBdirectory ();
int ParseSMBdirectory (bool silent);
SMBFILE OpenSMBFile(char * filepath);
int LoadSMBSzFile(char * filepath, unsigned char * rbuffer);
int LoadSMBFile (char * sbuffer, char *filepath, int length, bool silent);

View File

@ -146,8 +146,6 @@ void CreateAppPath(char origpath[])
if(pos >= 0 && pos < 1024)
sprintf(appPath, &(path[pos]));
else
sprintf(appPath, "/");
#endif
}
@ -213,7 +211,9 @@ int main(int argc, char *argv[])
DefaultSettings ();
// store path app was loaded from
CreateAppPath(argv[0]);
sprintf(appPath, "vbagx");
if(argc > 0 && argv[0] != NULL)
CreateAppPath(argv[0]);
// Load preferences
if(!LoadPrefs())