make file device build on hardwar

This commit is contained in:
Nico 2021-11-16 19:43:56 +00:00
parent ee3fa037d2
commit 1416893720
1 changed files with 7 additions and 7 deletions

View File

@ -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;