Code

Git.pm: Implement Git::exec_path()
authorPetr Baudis <pasky@suse.cz>
Sat, 24 Jun 2006 02:34:31 +0000 (04:34 +0200)
committerJunio C Hamano <junkio@cox.net>
Mon, 3 Jul 2006 00:14:40 +0000 (17:14 -0700)
This patch implements Git::exec_path() (as a direct XS call).

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
perl/Git.pm
perl/Git.xs

index 8fff785e024f575c95778931361aad0eff38a349..5c5ae1246b717ad1bf6217254175111d4cc8b45a 100644 (file)
@@ -48,7 +48,7 @@ require Exporter;
 
 # Methods which can be called as standalone functions as well:
 @EXPORT_OK = qw(command command_oneline command_pipe command_noisy
-                hash_object);
+                exec_path hash_object);
 
 
 =head1 DESCRIPTION
@@ -288,6 +288,19 @@ sub command_noisy {
 }
 
 
+=item exec_path ()
+
+Return path to the git sub-command executables (the same as
+C<git --exec-path>). Useful mostly only internally.
+
+Implementation of this function is very fast; no external command calls
+are involved.
+
+=cut
+
+# Implemented in Git.xs.
+
+
 =item hash_object ( FILENAME [, TYPE ] )
 
 =item hash_object ( FILEHANDLE [, TYPE ] )
index 1b81ce244113dd72620e532b26bd0c6b6797f640..9e754d25385f80dd402c61ea9c05e00cc5aa8b74 100644 (file)
@@ -6,6 +6,7 @@
 
 /* libgit interface */
 #include "../cache.h"
+#include "../exec_cmd.h"
 
 /* XS and Perl interface */
 #include "EXTERN.h"
@@ -21,6 +22,17 @@ PROTOTYPES: DISABLE
 
 # /* TODO: xs_call_gate(). See Git.pm. */
 
+
+const char *
+xs_exec_path()
+CODE:
+{
+       RETVAL = git_exec_path();
+}
+OUTPUT:
+       RETVAL
+
+
 char *
 xs_hash_object(file, type = "blob")
        SV *file;