2014-12-08
2014-12-08 00:22:41 by Martin Nilsson <nilsson@opera.com>
-
fa7ecba70fd683b59978446580c0505697b45567
(114 lines)
(+30/-84)
[
Show
| Annotate
]
Branch: 8.1
More const. Removed locale dependent cmp.
1362: Inside #if defined(PIKE_DEBUG)
Pike_fatal("Num strings is wrong %d!=%d\n",num,num_strings);
}
- int safe_debug_findstring(struct pike_string *foo)
+ int safe_debug_findstring(const struct pike_string *foo)
{
unsigned INT32 e;
if(!base_table) return 0;
1423: Inside #if defined(PIKE_DEBUG)
return tmp;
}
- PMOD_EXPORT void debug_dump_pike_string(struct pike_string *s, INT32 max)
+ PMOD_EXPORT void debug_dump_pike_string(const struct pike_string *s, INT32 max)
{
INT32 e;
fprintf(stderr,"0x%p: %ld refs, len=%ld, size_shift=%d, hval=%lux (%lx)\n",
1568:
return blen+1;
}
- PMOD_EXPORT int c_compare_string(struct pike_string *s, char *foo, int len)
+ PMOD_EXPORT int c_compare_string(const struct pike_string *s,
+ const char *foo, int len)
{
return s->len == len && s->size_shift == 0 && !memcmp(s->str,foo,len);
}
- /* takes locale into account */
- static int low_binary_strcmp(char *a, ptrdiff_t alen,
- char *b, ptrdiff_t blen)
- {
- while(alen>0 && blen>0)
- {
- int tmp1 = strcoll(a,b);
- ptrdiff_t tmp2;
- if(tmp1) return (int)tmp1;
- tmp2 = strlen(a)+1;
- a += tmp2;
- b += tmp2;
- alen -= tmp2;
- blen -= tmp2;
- }
- if(alen==blen) return 0;
- if(alen > blen) return 1;
- return -1;
- }
-
+
/* Does not take locale into account */
- PMOD_EXPORT ptrdiff_t my_quick_strcmp(struct pike_string *a,
- struct pike_string *b)
+ PMOD_EXPORT ptrdiff_t my_quick_strcmp(const struct pike_string *a,
+ const struct pike_string *b)
{
if(a==b) return 0;
1603:
b->str, b->len, b->size_shift);
}
- /* Does take locale into account */
- PMOD_EXPORT ptrdiff_t my_strcmp(struct pike_string *a,struct pike_string *b)
- {
- if(a==b) return 0;
-
- switch(TWO_SIZES(a->size_shift,b->size_shift))
- {
- case TWO_SIZES(0,0):
- return low_binary_strcmp(a->str,a->len,b->str,b->len);
-
- default:
- {
- ptrdiff_t e, l = MINIMUM(a->len, b->len);
- for(e=0;e<l;e++)
- {
- INT32 ac=index_shared_string(a,e);
- INT32 bc=index_shared_string(b,e);
-
- if(ac < 256 && bc < 256)
- {
- char atmp[2],btmp[2];
- int tmp;
- atmp[0]=ac;
- btmp[0]=bc;
- atmp[1]=0;
- btmp[1]=0;
- if((tmp=strcoll(atmp,btmp)))
- return tmp;
- }
- else if(ac-bc)
- return ac-bc;
- }
- return a->len - b->len;
- }
- }
- }
-
+
struct pike_string *realloc_unlinked_string(struct pike_string *a,
ptrdiff_t size)
{
1858:
}
}
- PMOD_EXPORT void set_flags_for_add( struct pike_string *ret,
+ static void set_flags_for_add( struct pike_string *ret,
unsigned char aflags,
unsigned char amin,
unsigned char amax,
- struct pike_string *b)
+ const struct pike_string *b)
{
if( !b->len ) {
ret->flags |= aflags & ~15;
1883:
ret->flags |= (aflags & b->flags & (STRING_IS_LOWERCASE | STRING_IS_UPPERCASE));
}
- PMOD_EXPORT void update_flags_for_add( struct pike_string *a, struct pike_string *b)
+ void update_flags_for_add( struct pike_string *a, const struct pike_string *b)
{
if( !b->len ) return;
if( a->flags & STRING_CONTENT_CHECKED )
1901:
}
/*** Add strings ***/
- PMOD_EXPORT struct pike_string *add_shared_strings(struct pike_string *a,
- struct pike_string *b)
+ PMOD_EXPORT struct pike_string *add_shared_strings(const struct pike_string *a,
+ const struct pike_string *b)
{
struct pike_string *ret;
PCHARP tmp;
2194:
#endif /* DO_PIKE_CLEANUP */
}
- static INLINE size_t memory_in_string (struct pike_string *s)
+ static INLINE size_t memory_in_string (const struct pike_string *s)
{
if (s->flags & STRING_IS_SHORT )
return sizeof (struct short_pike_string0);
2278:
}
#endif
- struct pike_string *next_pike_string (struct pike_string *s)
+ struct pike_string *next_pike_string (const struct pike_string *s)
{
struct pike_string *next = s->next;
if (!next) {
2307:
}
PMOD_EXPORT void init_string_builder_copy(struct string_builder *to,
- struct string_builder *from)
+ const struct string_builder *from)
{
to->malloced = from->malloced;
to->s = begin_wide_shared_string (from->malloced, from->s->size_shift);
2495:
}
PMOD_EXPORT void string_builder_append(struct string_builder *s,
- PCHARP from,
+ const PCHARP from,
ptrdiff_t len)
{
int shift = from.shift;
2515:
PMOD_EXPORT void string_builder_fill(struct string_builder *s,
ptrdiff_t howmany,
- PCHARP from,
+ const PCHARP from,
ptrdiff_t len,
ptrdiff_t offset)
{
2606:
}
}
- PMOD_EXPORT void string_builder_strcat(struct string_builder *s, char *str)
+ PMOD_EXPORT void string_builder_strcat(struct string_builder *s, const char *str)
{
string_builder_binary_strcat(s,str,strlen(str));
}
- PMOD_EXPORT void string_builder_shared_strcat(struct string_builder *s, struct pike_string *str)
+ PMOD_EXPORT void string_builder_shared_strcat(struct string_builder *s,
+ const struct pike_string *str)
{
string_build_mkspace(s,str->len,str->size_shift);
2621:
}
PMOD_EXPORT ptrdiff_t string_builder_quote_string(struct string_builder *buf,
- struct pike_string *str,
+ const struct pike_string *str,
ptrdiff_t i,
ptrdiff_t max_len,
int flags)
3146:
return end_shared_string(s->s);
}
- PMOD_EXPORT PCHARP MEMCHR_PCHARP(PCHARP ptr, int chr, ptrdiff_t len)
+ PMOD_EXPORT PCHARP MEMCHR_PCHARP(const PCHARP ptr, int chr, ptrdiff_t len)
{
switch(ptr.shift)
{