X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f4c2f90eddf42f1cc73a2a12ff1435cd4357fa60..7c7b5f05d39b7739d990f71256a2267ec67a6913:/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 c3150dc..5a06fc8 100644 --- a/lunaix-os/kernel/fs/iso9660/directory.c +++ b/lunaix-os/kernel/fs/iso9660/directory.c @@ -1,4 +1,3 @@ -#include #include #include #include @@ -7,6 +6,8 @@ #include +#include + extern struct cake_pile* drec_cache_pile; void @@ -51,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); }