1 /* itos.c -- Convert integer to string. */
3 /* Copyright (C) 1998, Free Software Foundation, Inc.
5 This file is part of GNU Bash, the Bourne Again SHell.
7 Bash is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
12 Bash is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 You should have received a copy of the GNU General Public License along
18 with Bash; see the file COPYING. If not, write to the Free Software
19 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
23 #if defined (HAVE_UNISTD_H)
30 /* Number of characters that can appear in a string representation
31 of an integer. 32 is larger than the string rep of 2^^31 - 1. */
32 #define MAX_INT_LEN 32
34 /* Integer to string conversion. This conses the string; the
35 caller should free it. */
40 char buf[MAX_INT_LEN], *p, *ret;
50 ui = (unsigned int) i;
52 p = buf + MAX_INT_LEN - 2;
56 *p-- = (ui % 10) + '0';
62 ret = savestring (p + 1);