project_files/hwc/rtl/misc.c
changeset 10129 cd2a64a1f4aa
parent 10128 0f6878b5395a
child 10130 a9d509848390
--- a/project_files/hwc/rtl/misc.c	Mon Feb 10 23:02:49 2014 +0400
+++ b/project_files/hwc/rtl/misc.c	Tue Feb 11 01:19:44 2014 +0400
@@ -57,7 +57,7 @@
     int newlen = str1.len + str2.len;
     if(newlen > MAX_ANSISTRING_LENGTH) newlen = MAX_ANSISTRING_LENGTH;
 
-    memcpy(&(str1.s[str1.len + 1]), str2.s[1], newlen - str1.len);
+    memcpy(&(str1.s[str1.len + 1]), &str2.s[1], newlen - str1.len);
     str1.len = newlen;
 
     return str1;
@@ -67,8 +67,8 @@
 {
     if(s.len < 255)
     {
+        ++s.len;
         s.s[s.len] = c;
-        ++s.len;
     }
 
     return s;
@@ -195,16 +195,9 @@
 
 char* fpcrtl__pchar__vars(string255 * s)
 {
-    if(s->len < 255)
-    {
-        s->s[s->len] = 0;
-        return &s->s[1];
-    } else
-    {
-        memcpy(__pcharBuf, s->s[1], 255);
-        __pcharBuf[255] = 0;
-        return &__pcharBuf;
-    }
+    memcpy(__pcharBuf, &s->s[1], s->len);
+    __pcharBuf[s->len] = 0;
+    return __pcharBuf;
 }
 
 char* fpcrtl__pcharA__vars(astring * s)