X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/0eabc11fcf240415e39f3873dfce7cd9384b3042..2a49908006b177c4d6354309333d06b1b96e4887:/lunaix-os/kernel/fs/iso9660/directory.c diff --git a/lunaix-os/kernel/fs/iso9660/directory.c b/lunaix-os/kernel/fs/iso9660/directory.c index 1d35978..5a06fc8 100644 --- a/lunaix-os/kernel/fs/iso9660/directory.c +++ b/lunaix-os/kernel/fs/iso9660/directory.c @@ -6,7 +6,7 @@ #include -#include +#include extern struct cake_pile* drec_cache_pile; @@ -52,10 +52,12 @@ done: u32_t l = drec->name.len; while (l < (u32_t)-1 && drec->name.content[l--] != ';') ; + l = (l + 1) ? l : drec->name.len; l = MIN(l, ISO9660_IDLEN - 1); - strncpy(cache->name_val, drec->name.content, l); + strncpy(cache->name_val, (const char*)drec->name.content, l); + cache->name = HSTR(cache->name_val, l); hstr_rehash(&cache->name, HSTR_FULL_HASH); }