Provide error for invalid number in c_set().
This commit is contained in:
parent
a5dd2e4ae5
commit
c0df452c04
1 changed files with 8 additions and 1 deletions
|
|
@ -106,6 +106,7 @@ c_set(argc, argv)
|
||||||
{
|
{
|
||||||
variable_t *var;
|
variable_t *var;
|
||||||
int val;
|
int val;
|
||||||
|
wchar_t *p = NULL;
|
||||||
|
|
||||||
if (argc != 3) {
|
if (argc != 3) {
|
||||||
cmderr(L"Usage: set <variable> <value>");
|
cmderr(L"Usage: set <variable> <value>");
|
||||||
|
|
@ -143,7 +144,13 @@ int val;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VTYPE_INT:
|
case VTYPE_INT:
|
||||||
*(int *)var->va_addr = wcstol(argv[2], NULL, 0);
|
val = wcstol(argv[2], &p, 0);
|
||||||
|
if (!*argv[2] || *p) {
|
||||||
|
cmderr(L"Invalid number \"%ls\"", argv[2]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
*(int *)var->va_addr = val;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue