pike.git/
src/
interpret_functions.h
Branch:
Tag:
Non-build tags
All tags
No tags
2013-06-17
2013-06-17 12:48:30 by Arne Goedeke <el@laramies.com>
e5abddde571f65f3532f2bc93a23c58944123de6 (
9
lines) (+
8
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
F_ADD_LOCALS_AND_POP: fixed add when both strings are identical
527:
if( dsts->len && srcs->len ) { size_t tmp = dsts->len;
+
size_t tmp2 = srcs->len;
+
/*
+
* in case srcs==dsts
+
* pike_string_cpy(MKPCHARP_STR_OFF(dsts,tmp), srcs);
+
* does bad stuff
+
*/
dsts = new_realloc_shared_string( dsts, tmp+srcs->len, MAX(srcs->size_shift,dsts->size_shift) ); update_flags_for_add( dsts, srcs );
-
pike
_
string_cpy
(MKPCHARP_STR_OFF(dsts,tmp), srcs);
+
generic
_
memcpy
(MKPCHARP_STR_OFF(dsts,tmp),
MKPCHARP_STR(
srcs)
, tmp2)
;
dst->u.string = low_end_shared_string( dsts ); } else if( !dsts->len )