xref: /openbsd-src/gnu/usr.bin/perl/cygwin/cygwin.c (revision c8ca900353947dc5d441eb0530d040a27377e87a)
1 /*
2  * Cygwin extras
3  */
4 
5 #include "EXTERN.h"
6 #include "perl.h"
7 #undef USE_DYNAMIC_LOADING
8 #include "XSUB.h"
9 
10 #include <unistd.h>
11 
12 
13 /* see also Cwd.pm */
14 static
15 XS(Cygwin_cwd)
16 {
17     dXSARGS;
18     char *cwd;
19 
20     if(items != 0)
21 	Perl_croak(aTHX_ "Usage: Cwd::cwd()");
22     if(cwd = getcwd(NULL, 0)) {
23 	ST(0) = sv_2mortal(newSVpv(cwd, 0));
24 	safesysfree(cwd);
25 	XSRETURN(1);
26     }
27     XSRETURN_UNDEF;
28 }
29 
30 void
31 init_os_extras(void)
32 {
33     char *file = __FILE__;
34     dTHX;
35 
36     newXS("Cwd::cwd", Cygwin_cwd, file);
37 }
38