X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FCwd%2FCwd.xs;h=7434dfa70000b64a1afcdab8031063d76198428a;hb=dfa4e5d386dd8c5329351699b02085856cdd140e;hp=97c583ff538005e21dff5c759b001a25ddc8ebc7;hpb=a733a8a07e00b5db8b5f31499d376e2c78834665;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Cwd/Cwd.xs b/ext/Cwd/Cwd.xs index 97c583f..7434dfa 100644 --- a/ext/Cwd/Cwd.xs +++ b/ext/Cwd/Cwd.xs @@ -1,8 +1,10 @@ #include "EXTERN.h" #include "perl.h" #include "XSUB.h" -#define NEED_sv_2pv_nolen -#include "ppport.h" +#ifndef NO_PPPORT_H +# define NEED_sv_2pv_nolen +# include "ppport.h" +#endif #ifdef I_UNISTD # include @@ -268,7 +270,7 @@ int Perl_getcwd_sv(pTHX_ register SV *sv) } #else - + { Stat_t statbuf; int orig_cdev, orig_cino, cdev, cino, odev, oino, tdev, tino; int namelen, pathlen=0; @@ -380,6 +382,7 @@ int Perl_getcwd_sv(pTHX_ register SV *sv) } return TRUE; + } #endif #else @@ -408,6 +411,19 @@ PPCODE: } void +getcwd(...) +PROTOTYPE: DISABLE +PPCODE: +{ + dXSTARG; + getcwd_sv(TARG); + XSprePUSH; PUSHTARG; +#ifndef INCOMPLETE_TAINTS + SvTAINTED_on(TARG); +#endif +} + +void abs_path(pathsv=Nullsv) SV *pathsv PROTOTYPE: DISABLE @@ -417,7 +433,7 @@ PPCODE: char *path; char buf[MAXPATHLEN]; - path = pathsv ? SvPV_nolen(pathsv) : "."; + path = pathsv ? SvPV_nolen(pathsv) : (char *)"."; if (bsd_realpath(path, buf)) { sv_setpvn(TARG, buf, strlen(buf)); @@ -433,7 +449,7 @@ PPCODE: #endif } -#ifdef WIN32 +#if defined(WIN32) && !defined(UNDER_CE) void getdcwd(...)