commit 7005e0af84874207ab6863f18ac48508237ced5c
Author: Richard Hughes <richard@hughsie.com>
Date: Mon Nov 9 09:42:23 2009 +0000
cnf: after a successful installation, re-exec new binary not command-not-found. Fixes rh#533554
diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index 4e3f4b3..de2e503 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -706,7 +706,7 @@ main (int argc, char *argv[])
/* run */
} else if (config->single_match == PK_CNF_POLICY_RUN) {
- pk_cnf_spawn_command (possible, &argv[1]);
+ pk_cnf_spawn_command (possible, &argv[2]);
/* ask */
} else if (config->single_match == PK_CNF_POLICY_ASK) {
@@ -714,7 +714,7 @@ main (int argc, char *argv[])
text = g_strdup_printf ("%s %s", _("Run similar command:"), possible);
ret = pk_console_get_prompt (text, TRUE);
if (ret)
- pk_cnf_spawn_command (possible, &argv[1]);
+ pk_cnf_spawn_command (possible, &argv[2]);
else
retval = EXIT_COMMAND_NOT_FOUND;
g_free (text);
@@ -745,7 +745,7 @@ main (int argc, char *argv[])
/* run command */
possible = g_ptr_array_index (array, i);
- pk_cnf_spawn_command (possible, &argv[1]);
+ pk_cnf_spawn_command (possible, &argv[2]);
}
goto out;
@@ -772,7 +772,7 @@ main (int argc, char *argv[])
if (ret) {
ret = pk_cnf_install_package_id (package_ids[0]);
if (ret)
- pk_cnf_spawn_command (argv[0], &argv[1]);
+ pk_cnf_spawn_command (argv[1], &argv[2]);
else
retval = EXIT_COMMAND_NOT_FOUND;
}
@@ -781,7 +781,7 @@ main (int argc, char *argv[])
} else if (config->single_install == PK_CNF_POLICY_INSTALL) {
ret = pk_cnf_install_package_id (package_ids[0]);
if (ret)
- pk_cnf_spawn_command (argv[0], &argv[1]);
+ pk_cnf_spawn_command (argv[1], &argv[2]);
else
retval = EXIT_COMMAND_NOT_FOUND;
}
@@ -814,7 +814,7 @@ main (int argc, char *argv[])
/* run command */
ret = pk_cnf_install_package_id (package_ids[i]);
if (ret)
- pk_cnf_spawn_command (argv[0], &argv[1]);
+ pk_cnf_spawn_command (argv[1], &argv[2]);
else
retval = EXIT_COMMAND_NOT_FOUND;
}