Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam
2019-04-23 23:02:42 +01:00
9 changed files with 175 additions and 131 deletions

19
cmd.c
View File

@ -320,10 +320,11 @@ cmd_try_alias(int *argc, char ***argv)
{
struct options_entry *o;
struct options_array_item *a;
union options_value *ov;
int old_argc = *argc, new_argc, i;
char **old_argv = *argv, **new_argv;
size_t wanted;
const char *s, *cp = NULL;
const char *cp = NULL;
o = options_get_only(global_options, "command-alias");
if (o == NULL)
@ -332,14 +333,16 @@ cmd_try_alias(int *argc, char ***argv)
a = options_array_first(o);
while (a != NULL) {
s = options_array_item_value(a);
if (s != NULL) {
cp = strchr(s, '=');
if (cp != NULL &&
(size_t)(cp - s) == wanted &&
strncmp(old_argv[0], s, wanted) == 0)
break;
ov = options_array_item_value(a);
if (ov == NULL) {
a = options_array_next(a);
continue;
}
cp = strchr(ov->string, '=');
if (cp != NULL &&
(size_t)(cp - ov->string) == wanted &&
strncmp(old_argv[0], ov->string, wanted) == 0)
break;
a = options_array_next(a);
}
if (a == NULL)