137da2899SCharles.Forsyth #include "lib9.h" 237da2899SCharles.Forsyth 337da2899SCharles.Forsyth char* utfecpy(char * to,char * e,char * from)437da2899SCharles.Forsythutfecpy(char *to, char *e, char *from) 537da2899SCharles.Forsyth { 637da2899SCharles.Forsyth char *end; 737da2899SCharles.Forsyth 837da2899SCharles.Forsyth if(to >= e) 937da2899SCharles.Forsyth return to; 1037da2899SCharles.Forsyth end = memccpy(to, from, '\0', e - to); 1137da2899SCharles.Forsyth if(end == nil){ 12*6e425a9dSCharles.Forsyth end = e; 1337da2899SCharles.Forsyth while(end>to && (*--end&0xC0)==0x80) 1437da2899SCharles.Forsyth ; 1537da2899SCharles.Forsyth *end = '\0'; 1637da2899SCharles.Forsyth }else{ 1737da2899SCharles.Forsyth end--; 1837da2899SCharles.Forsyth } 1937da2899SCharles.Forsyth return end; 2037da2899SCharles.Forsyth } 21