make file device build on hardwar
This commit is contained in:
parent
ee3fa037d2
commit
1416893720
|
@ -49,14 +49,14 @@ file_cleanup(void)
|
||||||
static Uint16
|
static Uint16
|
||||||
get_entry(char *p, Uint16 len, const char *basename, struct dirinfo info)
|
get_entry(char *p, Uint16 len, const char *basename, struct dirinfo info)
|
||||||
{
|
{
|
||||||
if(len < strlen(basename) + 7)
|
if(len < rb->strlen(basename) + 7)
|
||||||
return 0;
|
return 0;
|
||||||
else if(info.attribute & ATTR_DIRECTORY)
|
else if(info.attribute & ATTR_DIRECTORY)
|
||||||
return snprintf(p, len, "---- %s\n", basename);
|
return rb->snprintf(p, len, "---- %s\n", basename);
|
||||||
else if(info.size < 0x10000)
|
else if(info.size < 0x10000)
|
||||||
return snprintf(p, len, "%04x %s\n", (Uint16)info.size, basename);
|
return rb->snprintf(p, len, "%04x %s\n", (Uint16)info.size, basename);
|
||||||
else
|
else
|
||||||
return snprintf(p, len, "???? %s\n", basename);
|
return rb->snprintf(p, len, "???? %s\n", basename);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Uint16
|
static Uint16
|
||||||
|
@ -80,7 +80,7 @@ Uint16
|
||||||
file_init(const char *filename)
|
file_init(const char *filename)
|
||||||
{
|
{
|
||||||
file_cleanup();
|
file_cleanup();
|
||||||
snprintf(current_filename, sizeof(current_filename), "/%s", (filename[0] == '/') ? &filename[1] : filename);
|
rb->snprintf(current_filename, sizeof(current_filename), "/%s", (filename[0] == '/') ? &filename[1] : filename);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ file_stat(void *dest, Uint16 len)
|
||||||
{
|
{
|
||||||
DIR *sd;
|
DIR *sd;
|
||||||
struct dirent *sde;
|
struct dirent *sde;
|
||||||
char *basename = strrchr(current_filename, '/');
|
char *basename = rb->strrchr(current_filename, '/');
|
||||||
if(basename != current_filename) {
|
if(basename != current_filename) {
|
||||||
*basename = '\0';
|
*basename = '\0';
|
||||||
sd = rb->opendir(current_filename);
|
sd = rb->opendir(current_filename);
|
||||||
|
@ -133,7 +133,7 @@ file_stat(void *dest, Uint16 len)
|
||||||
}
|
}
|
||||||
if(sd == NULL) return 0;
|
if(sd == NULL) return 0;
|
||||||
while((sde = rb->readdir(sd)) != NULL) {
|
while((sde = rb->readdir(sd)) != NULL) {
|
||||||
if(!strcmp(sde->d_name, basename)) {
|
if(!rb->strcmp(sde->d_name, basename)) {
|
||||||
Uint16 ret = get_entry(dest, len, basename, rb->dir_get_info(sd, sde));
|
Uint16 ret = get_entry(dest, len, basename, rb->dir_get_info(sd, sde));
|
||||||
rb->closedir(sd);
|
rb->closedir(sd);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue