From 7b54eed2c2f512791698bb78d91254f2bb467e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Fri, 16 Dec 2016 18:36:15 +0100 Subject: [PATCH] Strings: Backported STRING_CHECKED_MASK from Pike 8.1. Get rid of magic numeric constant ~15 in string handling. --- src/stralloc.c | 4 ++-- src/stralloc.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/stralloc.c b/src/stralloc.c index 3235b071e8..4549a338bd 100644 --- a/src/stralloc.c +++ b/src/stralloc.c @@ -1697,7 +1697,7 @@ struct pike_string *new_realloc_shared_string(struct pike_string *a, INT32 size, r=begin_wide_shared_string(size,shift); pike_string_cpy(MKPCHARP_STR(r),a); - r->flags |= (a->flags & ~15); + r->flags |= (a->flags & STRING_CHECKED_MASK); r->min = a->min; r->max = a->max; free_string(a); @@ -1870,7 +1870,7 @@ PMOD_EXPORT void set_flags_for_add( struct pike_string *ret, struct pike_string *b) { if( !b->len ) { - ret->flags |= aflags & ~15; + ret->flags |= aflags & STRING_CHECKED_MASK; ret->min = amin; ret->max = amax; return; diff --git a/src/stralloc.h b/src/stralloc.h index 2992756468..34cddba72b 100644 --- a/src/stralloc.h +++ b/src/stralloc.h @@ -55,6 +55,8 @@ struct string_builder #define STRING_IS_LOWERCASE 32 #define STRING_IS_UPPERCASE 64 +#define STRING_CHECKED_MASK (STRING_IS_UPPERCASE|STRING_IS_LOWERCASE|STRING_CONTENT_CHECKED) + #define CLEAR_STRING_CHECKED(X) do{(X)->flags &= 15;}while(0) /* Flags used by string_builder_append_integer() */ -- GitLab