1.1 --- a/templates/native/str.c Sun Mar 19 00:56:43 2017 +0100
1.2 +++ b/templates/native/str.c Fri Mar 24 22:39:37 2017 +0100
1.3 @@ -33,8 +33,8 @@
1.4 /* _data, other interpreted as string.__data__ */
1.5 char *s = _data.strvalue;
1.6 char *o = other.strvalue;
1.7 - /* _size, othersize interpreted as int.__data__ */
1.8 - int ss = _size.intvalue, os = othersize.intvalue;
1.9 + /* _size, othersize interpreted as int */
1.10 + int ss = __TOINT(_size), os = __TOINT(othersize);
1.11 int n = ss + os;
1.12 char *r = (char *) __ALLOCATE(n + 1, sizeof(char));
1.13
1.14 @@ -47,8 +47,8 @@
1.15
1.16 __attr __fn_native_str_str_chr(__attr __self, __attr _data)
1.17 {
1.18 - /* _data interpreted as int.__data__ */
1.19 - int n = _data.intvalue;
1.20 + /* data interpreted as int */
1.21 + int n = __TOINT(_data);
1.22 char *s = (char *) __ALLOCATE(2, sizeof(char));
1.23
1.24 s[0] = (char) n;
1.25 @@ -98,11 +98,11 @@
1.26 /* _data interpreted as string.__data__ */
1.27 char *s = _data.strvalue, *sub;
1.28 /* start interpreted as int */
1.29 - int istart = __load_via_object(start.value, __data__).intvalue;
1.30 + int istart = __TOINT(start);
1.31 /* end interpreted as int */
1.32 - int iend = __load_via_object(end.value, __data__).intvalue;
1.33 + int iend = __TOINT(end);
1.34 /* step interpreted as int */
1.35 - int istep = __load_via_object(step.value, __data__).intvalue;
1.36 + int istep = __TOINT(step);
1.37
1.38 /* Calculate the size of the substring. */
1.39 size_t resultsize = ((iend - istart - (istep > 0 ? 1 : -1)) / istep) + 1;