From 021256ad8e90503fb0296f5ad69844c77b5f0e08 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Fri, 3 Jan 2014 22:09:36 +0100 Subject: [PATCH] Fix struct kernel_dirent::d_namlen being called d_namelen. --- ext/extfs.cpp | 8 ++++---- libc/dirent/fddir-sortix.cpp | 4 ++-- sortix/descriptor.cpp | 2 +- sortix/fs/kram.cpp | 4 ++-- sortix/fs/user.cpp | 2 +- sortix/include/sortix/dirent.h | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ext/extfs.cpp b/ext/extfs.cpp index 03e028d8..9b3b7787 100644 --- a/ext/extfs.cpp +++ b/ext/extfs.cpp @@ -229,9 +229,9 @@ bool RespondReadDir(int svr, int chl, struct kernel_dirent* dirent) struct fsm_resp_readdirents body; body.ino = dirent->d_ino; body.type = dirent->d_type; - body.namelen = dirent->d_namelen; + body.namelen = dirent->d_namlen; return RespondMessage(svr, chl, FSM_RESP_READDIRENTS, &body, sizeof(body)) && - RespondData(svr, chl, dirent->d_name, dirent->d_namelen); + RespondData(svr, chl, dirent->d_name, dirent->d_namlen); } void HandleRefer(int svr, int chl, struct fsm_req_refer* msg, Filesystem* fs) @@ -466,10 +466,10 @@ void HandleReadDir(int svr, int chl, struct fsm_req_readdirents* msg, Filesystem kernel_entry.d_ino = entry->inode; kernel_entry.d_dev = 0; kernel_entry.d_type = 0; // TODO: Support this! - kernel_entry.d_namelen = entry->name_len; + kernel_entry.d_namlen = entry->name_len; memcpy(kernel_entry.d_name, entry->name, entry->name_len); size_t dname_offset = offsetof(struct kernel_dirent, d_name); - padding[dname_offset + kernel_entry.d_namelen] = '\0'; + padding[dname_offset + kernel_entry.d_namlen] = '\0'; block->Unref(); inode->Unref(); RespondReadDir(svr, chl, &kernel_entry); diff --git a/libc/dirent/fddir-sortix.cpp b/libc/dirent/fddir-sortix.cpp index d3062e7f..f15e655e 100644 --- a/libc/dirent/fddir-sortix.cpp +++ b/libc/dirent/fddir-sortix.cpp @@ -57,7 +57,7 @@ static int fddir_sortix_readents(fddir_sortix_t* info) { if ( errno != ERANGE ) return -1; - size_t newdirentsize = sizeof(struct kernel_dirent) + info->dirent->d_namelen + 1; + size_t newdirentsize = sizeof(struct kernel_dirent) + info->dirent->d_namlen + 1; if ( newdirentsize < info->direntsize ) newdirentsize *= 2; struct kernel_dirent* newdirent = (struct kernel_dirent*) malloc(newdirentsize); @@ -83,7 +83,7 @@ static int fddir_sortix_read(void* user, struct dirent* dirent, size_t* size) } size_t provided = (user) ? *size : 0; - size_t needed = sizeof(struct dirent) + info->current->d_namelen + 1; + size_t needed = sizeof(struct dirent) + info->current->d_namlen + 1; *size = needed; if ( provided < needed ) return 1; diff --git a/sortix/descriptor.cpp b/sortix/descriptor.cpp index d5e9f958..1c1e19f2 100644 --- a/sortix/descriptor.cpp +++ b/sortix/descriptor.cpp @@ -323,7 +323,7 @@ ssize_t Descriptor::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, memset(&retdirent, 0, sizeof(retdirent)); retdirent.d_reclen = needed; retdirent.d_off = 0; - retdirent.d_namelen = namelen; + retdirent.d_namlen = namelen; if ( !ctx->copy_to_dest(dirent, &retdirent, sizeof(retdirent)) ) return -1; if ( size < needed ) diff --git a/sortix/fs/kram.cpp b/sortix/fs/kram.cpp index 803b4060..ce69f911 100644 --- a/sortix/fs/kram.cpp +++ b/sortix/fs/kram.cpp @@ -150,7 +150,7 @@ ssize_t Dir::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, if ( size < needed ) { errno = ERANGE; - retdirent.d_namelen = namelen; + retdirent.d_namlen = namelen; } else { @@ -158,7 +158,7 @@ ssize_t Dir::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, ret = needed; retdirent.d_reclen = needed; retdirent.d_off = 0; - retdirent.d_namelen = namelen; + retdirent.d_namlen = namelen; retdirent.d_ino = inode->ino; retdirent.d_dev = inode->dev; retdirent.d_type = ModeToDT(inode->type); diff --git a/sortix/fs/user.cpp b/sortix/fs/user.cpp index e013a30a..640aceea 100644 --- a/sortix/fs/user.cpp +++ b/sortix/fs/user.cpp @@ -921,7 +921,7 @@ ssize_t Unode::readdirents(ioctx_t* ctx, struct kernel_dirent* dirent, struct kernel_dirent entry; entry.d_reclen = sizeof(entry) + resp.namelen + 1; entry.d_off = 0; - entry.d_namelen = resp.namelen; + entry.d_namlen = resp.namelen; entry.d_dev = (dev_t) server; entry.d_ino = resp.ino; entry.d_type = resp.type; diff --git a/sortix/include/sortix/dirent.h b/sortix/include/sortix/dirent.h index 139b5152..cd7241b2 100644 --- a/sortix/include/sortix/dirent.h +++ b/sortix/include/sortix/dirent.h @@ -42,7 +42,7 @@ struct kernel_dirent { size_t d_reclen; size_t d_off; - size_t d_namelen; + size_t d_namlen; ino_t d_ino; dev_t d_dev; unsigned char d_type;