project_files/hwc/rtl/misc.c
changeset 10129 cd2a64a1f4aa
parent 10128 0f6878b5395a
child 10130 a9d509848390
equal deleted inserted replaced
10128:0f6878b5395a 10129:cd2a64a1f4aa
    55 astring fpcrtl_strconcatA(astring str1, astring str2)
    55 astring fpcrtl_strconcatA(astring str1, astring str2)
    56 {
    56 {
    57     int newlen = str1.len + str2.len;
    57     int newlen = str1.len + str2.len;
    58     if(newlen > MAX_ANSISTRING_LENGTH) newlen = MAX_ANSISTRING_LENGTH;
    58     if(newlen > MAX_ANSISTRING_LENGTH) newlen = MAX_ANSISTRING_LENGTH;
    59 
    59 
    60     memcpy(&(str1.s[str1.len + 1]), str2.s[1], newlen - str1.len);
    60     memcpy(&(str1.s[str1.len + 1]), &str2.s[1], newlen - str1.len);
    61     str1.len = newlen;
    61     str1.len = newlen;
    62 
    62 
    63     return str1;
    63     return str1;
    64 }
    64 }
    65 
    65 
    66 string255 fpcrtl_strappend(string255 s, char c)
    66 string255 fpcrtl_strappend(string255 s, char c)
    67 {
    67 {
    68     if(s.len < 255)
    68     if(s.len < 255)
    69     {
    69     {
       
    70         ++s.len;
    70         s.s[s.len] = c;
    71         s.s[s.len] = c;
    71         ++s.len;
       
    72     }
    72     }
    73 
    73 
    74     return s;
    74     return s;
    75 }
    75 }
    76 
    76 
   193 
   193 
   194 char __pcharBuf[256];
   194 char __pcharBuf[256];
   195 
   195 
   196 char* fpcrtl__pchar__vars(string255 * s)
   196 char* fpcrtl__pchar__vars(string255 * s)
   197 {
   197 {
   198     if(s->len < 255)
   198     memcpy(__pcharBuf, &s->s[1], s->len);
   199     {
   199     __pcharBuf[s->len] = 0;
   200         s->s[s->len] = 0;
   200     return __pcharBuf;
   201         return &s->s[1];
       
   202     } else
       
   203     {
       
   204         memcpy(__pcharBuf, s->s[1], 255);
       
   205         __pcharBuf[255] = 0;
       
   206         return &__pcharBuf;
       
   207     }
       
   208 }
   201 }
   209 
   202 
   210 char* fpcrtl__pcharA__vars(astring * s)
   203 char* fpcrtl__pcharA__vars(astring * s)
   211 {
   204 {
   212     if(s->len == MAX_ANSISTRING_LENGTH)
   205     if(s->len == MAX_ANSISTRING_LENGTH)