Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #include <string.h>
  2. #include <sys/ksys.h>
  3.  
  4. char *__reverse(char *str)
  5. {
  6.   char tmp, *src, *dst;
  7.   size_t len;
  8.   if (str != NULL){
  9.       len = strlen (str);
  10.       if (len > 1) {
  11.           src = str;
  12.           dst = src + len - 1;
  13.           while (src < dst) {
  14.               tmp = *src;
  15.               *src++ = *dst;
  16.               *dst-- = tmp;
  17.           }
  18.       }
  19.   }
  20.   return str;
  21. }
  22.  
  23. /* itoa from K&R */
  24. void itoa(int n, char s[])
  25. {
  26.     int i, sign;
  27.  
  28.     if ((sign = n) < 0)        /* record sign */
  29.         n = -n;                /* make n positive */
  30.     i = 0;
  31.  
  32.     do {                       /* generate digits in reverse order */
  33.         s[i++] = n % 10 + '0'; /* get next digit */
  34.     } while ((n /= 10) > 0);   /* delete it */
  35.  
  36.     if (sign < 0)
  37.         s[i++] = '-';
  38.  
  39.     __reverse(s);
  40.     s[i] = '\0';
  41.     return;
  42. }