Git.pm: Implement Git::exec_path()

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>
maint
Petr Baudis 2006-06-24 04:34:31 +02:00 committed by Junio C Hamano
parent b1edc53d06
commit eca1f6fdb8
2 changed files with 26 additions and 1 deletions

View File

@ -48,7 +48,7 @@ require Exporter;


# Methods which can be called as standalone functions as well: # Methods which can be called as standalone functions as well:
@EXPORT_OK = qw(command command_oneline command_pipe command_noisy @EXPORT_OK = qw(command command_oneline command_pipe command_noisy
hash_object); exec_path hash_object);




=head1 DESCRIPTION =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 ( FILENAME [, TYPE ] )


=item hash_object ( FILEHANDLE [, TYPE ] ) =item hash_object ( FILEHANDLE [, TYPE ] )

View File

@ -6,6 +6,7 @@


/* libgit interface */ /* libgit interface */
#include "../cache.h" #include "../cache.h"
#include "../exec_cmd.h"


/* XS and Perl interface */ /* XS and Perl interface */
#include "EXTERN.h" #include "EXTERN.h"
@ -21,6 +22,17 @@ PROTOTYPES: DISABLE


# /* TODO: xs_call_gate(). See Git.pm. */ # /* TODO: xs_call_gate(). See Git.pm. */



const char *
xs_exec_path()
CODE:
{
RETVAL = git_exec_path();
}
OUTPUT:
RETVAL


char * char *
xs_hash_object(file, type = "blob") xs_hash_object(file, type = "blob")
SV *file; SV *file;