mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-19 10:15:48 +02:00
(parse_integer): Add `const' to char* parameter and
add a separate `suffix' variable.
This commit is contained in:
12
src/dd.c
12
src/dd.c
@@ -462,7 +462,8 @@ write_output (void)
|
||||
oc = 0;
|
||||
}
|
||||
|
||||
/* Interpret one "conv=..." option. */
|
||||
/* Interpret one "conv=..." option.
|
||||
As a by product, this function replaces each `,' in STR with a NUL byte. */
|
||||
|
||||
static void
|
||||
parse_conversion (char *str)
|
||||
@@ -496,14 +497,15 @@ parse_conversion (char *str)
|
||||
this format. */
|
||||
|
||||
static uintmax_t
|
||||
parse_integer (char *str, int *invalid)
|
||||
parse_integer (const char *str, int *invalid)
|
||||
{
|
||||
uintmax_t n;
|
||||
enum strtol_error e = xstrtoumax (str, &str, 10, &n, "bcEGkMPTwYZ0");
|
||||
char *suffix;
|
||||
enum strtol_error e = xstrtoumax (str, &suffix, 10, &n, "bcEGkMPTwYZ0");
|
||||
|
||||
if (e == LONGINT_INVALID_SUFFIX_CHAR && *str == 'x')
|
||||
if (e == LONGINT_INVALID_SUFFIX_CHAR && *suffix == 'x')
|
||||
{
|
||||
uintmax_t multiplier = parse_integer (str + 1, invalid);
|
||||
uintmax_t multiplier = parse_integer (suffix + 1, invalid);
|
||||
|
||||
if (multiplier != 0 && n * multiplier / multiplier != n)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user