vsprintf.c (7483d45f0aee3afc0646d185cabd4af9f6cab58c) vsprintf.c (1ac101a5d675aca2426c5cd460c73fb95acb8391)
1/*
2 * linux/lib/vsprintf.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
8/*

--- 198 unchanged lines hidden (view full) ---

207 unsigned rem;
208 if (num < 100000)
209 return put_dec_trunc(buf, num);
210 rem = do_div(num, 100000);
211 buf = put_dec_full(buf, rem);
212 }
213}
214
1/*
2 * linux/lib/vsprintf.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
8/*

--- 198 unchanged lines hidden (view full) ---

207 unsigned rem;
208 if (num < 100000)
209 return put_dec_trunc(buf, num);
210 rem = do_div(num, 100000);
211 buf = put_dec_full(buf, rem);
212 }
213}
214
215/*
216 * Convert passed number to decimal string.
217 * Returns the length of string. On buffer overflow, returns 0.
218 *
219 * If speed is not important, use snprintf(). It's easy to read the code.
220 */
221int num_to_str(char *buf, int size, unsigned long long num)
222{
223 char tmp[21]; /* Enough for 2^64 in decimal */
224 int idx, len;
225
226 len = put_dec(tmp, num) - tmp;
227
228 if (len > size)
229 return 0;
230 for (idx = 0; idx < len; ++idx)
231 buf[idx] = tmp[len - idx - 1];
232 return len;
233}
234
215#define ZEROPAD 1 /* pad with zero */
216#define SIGN 2 /* unsigned/signed long */
217#define PLUS 4 /* show plus */
218#define SPACE 8 /* space if plus */
219#define LEFT 16 /* left justified */
220#define SMALL 32 /* use lowercase in hex (must be 32 == 0x20) */
221#define SPECIAL 64 /* prefix hex with "0x", octal with "0" */
222

--- 1824 unchanged lines hidden ---
235#define ZEROPAD 1 /* pad with zero */
236#define SIGN 2 /* unsigned/signed long */
237#define PLUS 4 /* show plus */
238#define SPACE 8 /* space if plus */
239#define LEFT 16 /* left justified */
240#define SMALL 32 /* use lowercase in hex (must be 32 == 0x20) */
241#define SPECIAL 64 /* prefix hex with "0x", octal with "0" */
242

--- 1824 unchanged lines hidden ---