1 #include <mbstring.h> 2 3 /* 4 * @implemented 5 */ _mbsrev(unsigned char * s)6unsigned char * _mbsrev(unsigned char *s) 7 { 8 unsigned char *e; 9 unsigned char a; 10 unsigned char *e2; 11 e=s; 12 while (*e) { 13 if ( _ismbblead(*e) ) { 14 a = *e; 15 e2 = e; 16 *e2 = *++e; 17 if ( *e == 0 ) 18 break; 19 *e = a; 20 } 21 e++; 22 } 23 while (s<e) { 24 a=*s; 25 *s=*e; 26 *e=a; 27 s++; 28 e--; 29 } 30 31 32 return s; 33 } 34