diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-01-12 23:08:14 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-01-19 15:43:29 -0700 |
commit | cd9667d6be072a9c736e49c679b55852f7b30a6c (patch) | |
tree | c99c10d4c0caea96cc5a5420532eccaa60efe976 /lib9p_util | |
parent | 6381e08fd03e322d7d95973ca00c5605afb67707 (diff) |
lib9p: Don't nul-terminate strings, add some string utils
Diffstat (limited to 'lib9p_util')
-rw-r--r-- | lib9p_util/static.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/lib9p_util/static.c b/lib9p_util/static.c index 62cb147..7851714 100644 --- a/lib9p_util/static.c +++ b/lib9p_util/static.c @@ -10,9 +10,6 @@ #include <util9p/static.h> -#define p9_str(cstr) ((struct lib9p_s){ .len = strlen(cstr), .utf8 = cstr }) -#define p9_nulstr ((struct lib9p_s){ .len = 0, .utf8 = NULL }) - /* common *********************************************************************/ static implements_lib9p_srv_file *util9p_static_common_clone(implements_lib9p_srv_file *_self, struct lib9p_srv_ctx *ctx) { @@ -75,11 +72,11 @@ static struct lib9p_stat util9p_static_dir_stat(implements_lib9p_srv_file *_self .file_atime = self->atime, .file_mtime = self->mtime, .file_size = 0, - .file_name = p9_str(self->name), - .file_owner_uid = p9_str(self->u_name), - .file_owner_gid = p9_str(self->g_name), - .file_last_modified_uid = p9_str(self->m_name), - .file_extension = p9_nulstr, + .file_name = lib9p_str(self->name), + .file_owner_uid = lib9p_str(self->u_name), + .file_owner_gid = lib9p_str(self->g_name), + .file_last_modified_uid = lib9p_str(self->m_name), + .file_extension = lib9p_str(NULL), .file_owner_n_uid = self->u_num, .file_owner_n_gid = self->g_num, .file_last_modified_n_uid = self->m_num, @@ -87,7 +84,7 @@ static struct lib9p_stat util9p_static_dir_stat(implements_lib9p_srv_file *_self } static implements_lib9p_srv_file *util9p_static_dir_dopen(implements_lib9p_srv_file *_self, struct lib9p_srv_ctx *ctx, - char *childname) { + struct lib9p_s childname) { struct util9p_static_dir *self = VCALL_SELF(struct util9p_static_dir, implements_lib9p_srv_file, _self); assert(self); assert(ctx); @@ -98,7 +95,7 @@ static implements_lib9p_srv_file *util9p_static_dir_dopen(implements_lib9p_srv_f if (lib9p_ctx_has_error(&ctx->basectx)) break; lib9p_stat_assert(stat); - if (strcmp(stat.file_name.utf8, childname) == 0) + if (lib9p_str_eq(stat.file_name, childname)) return filep; } lib9p_error(&ctx->basectx, @@ -107,7 +104,7 @@ static implements_lib9p_srv_file *util9p_static_dir_dopen(implements_lib9p_srv_f } static implements_lib9p_srv_file *util9p_static_dir_dcreate(implements_lib9p_srv_file *_self, struct lib9p_srv_ctx *ctx, - char *LM_UNUSED(childname), + struct lib9p_s LM_UNUSED(childname), lib9p_dm_t LM_UNUSED(perm), lib9p_o_t LM_UNUSED(flags)) { struct util9p_static_dir *self = VCALL_SELF(struct util9p_static_dir, implements_lib9p_srv_file, _self); assert(self); @@ -192,11 +189,11 @@ static struct lib9p_stat util9p_static_file_stat(implements_lib9p_srv_file *_sel .file_atime = self->atime, .file_mtime = self->mtime, .file_size = (uint64_t)util9p_static_file_size(self), - .file_name = p9_str(self->name), - .file_owner_uid = p9_str(self->u_name), - .file_owner_gid = p9_str(self->g_name), - .file_last_modified_uid = p9_str(self->m_name), - .file_extension = p9_nulstr, + .file_name = lib9p_str(self->name), + .file_owner_uid = lib9p_str(self->u_name), + .file_owner_gid = lib9p_str(self->g_name), + .file_last_modified_uid = lib9p_str(self->m_name), + .file_extension = lib9p_str(NULL), .file_owner_n_uid = self->u_num, .file_owner_n_gid = self->g_num, .file_last_modified_n_uid = self->m_num, |