From: Felipe Barriga Richards Date: Thu, 16 Feb 2017 16:50:59 +0000 (-0300) Subject: utils.c: optimization X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;ds=sidebyside;h=2f9db7e8ce45c8a7eb3a0e3bc126d0480661b09e;p=rrq%2Ffuse_xattrs.git utils.c: optimization --- diff --git a/utils.c b/utils.c index 10593e6..f245e7e 100644 --- a/utils.c +++ b/utils.c @@ -62,20 +62,32 @@ const int filename_is_sidecar(const char *string) { return 0; } +#define USER_NAMESPACE "user." +#define SYSTEM_NAMESPACE "system." +#define SECURITY_NAMESPACE "security." +#define TRUSTED_NAMESPACE "trusted." + +const size_t USER_NAMESPACE_SIZE = strlen(USER_NAMESPACE); +const size_t SYSTEM_NAMESPACE_SIZE = strlen(SYSTEM_NAMESPACE); +const size_t SECURITY_NAMESPACE_SIZE = strlen(SECURITY_NAMESPACE); +const size_t THRUSTED_NAMESPACE_SIZE = strlen(TRUSTED_NAMESPACE); + enum namespace get_namespace(const char *name) { - if (strncmp(name, "user.", strlen("user.")) == 0) { + size_t name_size = strlen(name); + + if (name_size > USER_NAMESPACE_SIZE && memcmp(name, USER_NAMESPACE, USER_NAMESPACE_SIZE) == 0) { return USER; } - if (strncmp(name, "system.", strlen("system.")) == 0) { + if (name_size > SYSTEM_NAMESPACE_SIZE && memcmp(name, SYSTEM_NAMESPACE, SYSTEM_NAMESPACE_SIZE) == 0) { return SYSTEM; } - if (strncmp(name, "security.", strlen("security.")) == 0) { + if (name_size > SECURITY_NAMESPACE_SIZE && memcmp(name, SECURITY_NAMESPACE, SECURITY_NAMESPACE_SIZE) == 0) { return SECURITY; } - if (strncmp(name, "trusted.", strlen("trusted.")) == 0) { + if (name_size > THRUSTED_NAMESPACE_SIZE && memcmp(name, TRUSTED_NAMESPACE, THRUSTED_NAMESPACE_SIZE) == 0) { return TRUSTED; }