mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
lvmcmdline: restore digit check
Commit 9b4b5d449e
started to accept
rather way to wide set of strings we do not want to take for size.
i.e. lvresize -t vg0/lvol0 -LNaNM
Restore check for 'digit || locales defined 'dot' | '.'
(as we tend to take '.' even if locales uses ',')
This commit is contained in:
parent
fde23f7ce1
commit
864017710c
@ -32,6 +32,7 @@
|
|||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
|
#include <langinfo.h>
|
||||||
|
|
||||||
#ifdef HAVE_VALGRIND
|
#ifdef HAVE_VALGRIND
|
||||||
#include <valgrind.h>
|
#include <valgrind.h>
|
||||||
@ -543,6 +544,7 @@ static int _size_arg(struct cmd_context *cmd __attribute__((unused)),
|
|||||||
char *val;
|
char *val;
|
||||||
double v;
|
double v;
|
||||||
uint64_t v_tmp, adjustment;
|
uint64_t v_tmp, adjustment;
|
||||||
|
char *radixchar = nl_langinfo(RADIXCHAR);
|
||||||
|
|
||||||
av->percent = PERCENT_NONE;
|
av->percent = PERCENT_NONE;
|
||||||
|
|
||||||
@ -565,6 +567,14 @@ static int _size_arg(struct cmd_context *cmd __attribute__((unused)),
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!isdigit(*val) &&
|
||||||
|
(*val != '.') &&
|
||||||
|
(radixchar && (*val != radixchar[0]))) {
|
||||||
|
log_error("Size requires number argument.");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
v = strtod(val, &ptr);
|
v = strtod(val, &ptr);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user