Subversion Repositories Kolibri OS

Rev

Rev 8622 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8622 Rev 8629
Line 1... Line 1...
1
#include 
1
#include 
-
 
2
#include 
2
/*
3
 
3
char* itoa(int n, char* s)
4
char *__reverse(char *str)
4
{
5
{
-
 
6
  char tmp, *src, *dst;
5
  int sign;
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;
6
  char *ptr;
17
          }
-
 
18
      }
-
 
19
  }
7
  ptr = s;
20
  return str;
-
 
21
}
8
 
22
 
-
 
23
/* itoa from K&R */
9
  if(n == (int)0x80000000)
24
void itoa(int n, char s[])
-
 
25
{
10
    return strcpy(s, "-2147483648");  // overflowed -n
26
    int i, sign;
11
 
27
 
12
  if ((sign = n) < 0) n = -n;
28
    if ((sign = n) < 0)        /* record sign */
-
 
29
        n = -n;                /* make n positive */
13
  do {
30
    i = 0;
-
 
31
 
-
 
32
    do {                       /* generate digits in reverse order */
14
    *ptr++ = n % 10 + '0';
33
        s[i++] = n % 10 + '0'; /* get next digit */
15
    } while ((n = n / 10) > 0);
34
    } while ((n /= 10) > 0);   /* delete it */
-
 
35
 
-
 
36
    if (sign < 0)
16
  if (sign < 0) *ptr++ = '-';
37
        s[i++] = '-';
-
 
38
 
-
 
39
    __reverse(s);
17
  *ptr = '\0';
40
    s[i] = '\0';
18
  return strrev(s);
41
    return;
19
}
42
}
20
*/
-
 
21
43