project_files/hwc/rtl/system.c
changeset 10134 81d733899e06
parent 10131 4b4a043111f4
child 10625 125e120165aa
equal deleted inserted replaced
10133:d73412fbf3b4 10134:81d733899e06
   141 void fpcrtl_move__vars(void *src, void *dst, SizeInt count) {
   141 void fpcrtl_move__vars(void *src, void *dst, SizeInt count) {
   142     memmove(dst, src, count);
   142     memmove(dst, src, count);
   143 }
   143 }
   144 
   144 
   145 Integer __attribute__((overloadable)) fpcrtl_pos(Char c, string255 str) {
   145 Integer __attribute__((overloadable)) fpcrtl_pos(Char c, string255 str) {
   146     string255 t;
   146 
   147     t.len = 1;
   147     unsigned char* p;
   148     t.str[0] = c;
   148 
   149     t.str[1] = 0;
   149     if (str.len == 0) {
   150     return fpcrtl_pos(t, str);
   150         return 0;
       
   151     }
       
   152 
       
   153     FIX_STRING(str);
       
   154 
       
   155     p = strchr(str.str, c);
       
   156 
       
   157     if (p == NULL) {
       
   158         return 0;
       
   159     }
       
   160 
       
   161     return p - (unsigned char*)&str.s;
   151 }
   162 }
   152 
   163 
   153 Integer __attribute__((overloadable)) fpcrtl_pos(string255 substr, string255 str) {
   164 Integer __attribute__((overloadable)) fpcrtl_pos(string255 substr, string255 str) {
   154 
   165 
   155     unsigned char* p;
   166     unsigned char* p;
   173 
   184 
   174     return p - (unsigned char*)&str.s;
   185     return p - (unsigned char*)&str.s;
   175 }
   186 }
   176 
   187 
   177 Integer __attribute__((overloadable)) fpcrtl_pos(Char c, astring str) {
   188 Integer __attribute__((overloadable)) fpcrtl_pos(Char c, astring str) {
   178     string255 t;
   189     unsigned char* p;
   179     t.len = 1;
   190 
   180     t.str[0] = c;
   191     if (str.len == 0) {
   181     t.str[1] = 0;
   192         return 0;
   182     return fpcrtl_pos(t, str);
   193     }
       
   194 
       
   195     p = strchr(str.s + 1, c);
       
   196 
       
   197     if (p == NULL) {
       
   198         return 0;
       
   199     }
       
   200 
       
   201     return p - (unsigned char*)&str.s;
       
   202 
   183 }
   203 }
   184 
   204 
   185 Integer __attribute__((overloadable)) fpcrtl_pos(string255 substr, astring str) {
   205 Integer __attribute__((overloadable)) fpcrtl_pos(string255 substr, astring str) {
   186 
   206 
   187     unsigned char* p;
   207     unsigned char* p;