Blob Blame History Raw
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;
 			}