diff options
Diffstat (limited to 'src/common/szstr.h')
-rw-r--r-- | src/common/szstr.h | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/common/szstr.h b/src/common/szstr.h index aadbb28..54beb9a 100644 --- a/src/common/szstr.h +++ b/src/common/szstr.h @@ -47,6 +47,15 @@ typedef struct _sized_string_t } \ while (0) +#define szstrdup(dst, src) \ + do \ + { \ + (dst)->data = malloc((src)->len); \ + memcpy((dst)->data, (src)->data, (src)->len); \ + (dst)->len = (src)->len; \ + } \ + while (0) + #define exit_szstr(s) \ do \ { \ @@ -59,18 +68,8 @@ typedef struct _sized_string_t while (0) #define szstrcmp(ss, rs) \ - strncmp((ss)->data, rs, (ss)->len) - -#define szmemcmp(s1, s2) \ - ({ \ - int __result; \ - size_t __n; \ - __n = (s1)->len < (s2)->len ? (s1)->len : (s2)->len; \ - __result = memcmp((s1)->data, (s2)->data, __n); \ - if (__result == 0 && (s1)->len != (s2)->len) \ - __result = (s1)->len < (s2)->len ? -1 : 1; \ - __result; \ - }) + strncmp((ss)->data, (rs)/*->data*/, (ss)->len) + #endif /* _COMMON_SZSTR_H */ |