index 2c4789e944058c7dcab2deb5935a054691550d36..fc0c73cde7370801a0695befbf0e2610d2ea7ef1 100644 (file)
--- a/shell.c
+++ b/shell.c
#include "cache.h"
#include "quote.h"
#include "cache.h"
#include "quote.h"
+#include "exec_cmd.h"
static int do_generic_cmd(const char *me, char *arg)
{
const char *my_argv[4];
static int do_generic_cmd(const char *me, char *arg)
{
const char *my_argv[4];
- arg = sq_dequote(arg);
- if (!arg)
+ if (!arg || !(arg = sq_dequote(arg)))
die("bad argument");
die("bad argument");
+ if (strncmp(me, "git-", 4))
+ die("bad command");
- my_argv[0] = me;
+ my_argv[0] = me + 4;
my_argv[1] = arg;
my_argv[2] = NULL;
my_argv[1] = arg;
my_argv[2] = NULL;
- return execvp(me, (char**) my_argv);
+ return execv_git_cmd((char**) my_argv);
}
static struct commands {
}
static struct commands {