src/fios.cpp
changeset 9032 0412a7e3c1d9
parent 9031 445046ca06af
child 9131 d7da7ac0f845
equal deleted inserted replaced
9031:445046ca06af 9032:0412a7e3c1d9
   109 char *FiosBrowseTo(const FiosItem *item)
   109 char *FiosBrowseTo(const FiosItem *item)
   110 {
   110 {
   111 	char *path = _fios_path;
   111 	char *path = _fios_path;
   112 
   112 
   113 	switch (item->type) {
   113 	switch (item->type) {
       
   114 		case FIOS_TYPE_DRIVE:
   114 #if defined(WINCE)
   115 #if defined(WINCE)
   115 		case FIOS_TYPE_DRIVE: sprintf(path, PATHSEP ""); break;
   116 			sprintf(path, PATHSEP "");
   116 #elif defined(WIN32) || defined(__OS2__)
   117 #elif defined(WIN32) || defined(__OS2__)
   117 		case FIOS_TYPE_DRIVE: sprintf(path, "%c:" PATHSEP, item->title[0]); break;
   118 			sprintf(path, "%c:" PATHSEP, item->title[0]);
   118 #endif
   119 #endif
       
   120 		/* Fallthrough */
       
   121 		case FIOS_TYPE_INVALID:
       
   122 			break;
   119 
   123 
   120 		case FIOS_TYPE_PARENT: {
   124 		case FIOS_TYPE_PARENT: {
   121 			/* Check for possible NULL ptr (not required for UNIXes, but AmigaOS-alikes) */
   125 			/* Check for possible NULL ptr (not required for UNIXes, but AmigaOS-alikes) */
   122 			char *s = strrchr(path, PATHSEPCHAR);
   126 			char *s = strrchr(path, PATHSEPCHAR);
   123 			if (s != NULL && s != path) {
   127 			if (s != NULL && s != path) {
   150 		{
   154 		{
   151 			static char str_buffr[512];
   155 			static char str_buffr[512];
   152 			snprintf(str_buffr, lengthof(str_buffr), "%s%s", path, item->name);
   156 			snprintf(str_buffr, lengthof(str_buffr), "%s%s", path, item->name);
   153 			return str_buffr;
   157 			return str_buffr;
   154 		}
   158 		}
   155 
       
   156 		case FIOS_TYPE_DRIVE:
       
   157 		case FIOS_TYPE_INVALID:
       
   158 			break;
       
   159 	}
   159 	}
   160 
   160 
   161 	return NULL;
   161 	return NULL;
   162 }
   162 }
   163 
   163