X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=util.h;h=3981656eae9ef82bd832884a4047e1360425b7d3;hb=d4451e15b8fd19b38c87c9ec4aea2dc5af3f94d1;hp=a0cc3fa0a2a5068a3fe38298e231c3ed9f3baabd;hpb=7c0587c85ff56c1fa1d95bc5228a7aff2da43d6c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/util.h b/util.h index a0cc3fa..3981656 100644 --- a/util.h +++ b/util.h @@ -1,54 +1,64 @@ -/* $RCSfile: util.h,v $$Revision: 4.0.1.3 $$Date: 92/06/08 16:09:20 $ +/* util.h * - * Copyright (c) 1991, Larry Wall + * Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, 2005, + * 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * - * $Log: util.h,v $ - * Revision 4.0.1.3 92/06/08 16:09:20 lwall - * patch20: bcopy() and memcpy() now tested for overlap safety - * - * Revision 4.0.1.2 91/11/05 19:18:40 lwall - * patch11: safe malloc code now integrated into Perl's malloc when possible - * - * Revision 4.0.1.1 91/06/07 12:11:00 lwall - * patch4: new copyright notice - * - * Revision 4.0 91/03/20 01:56:48 lwall - * 4.0 baseline. - * */ -EXT int *screamfirst INIT(Null(int*)); -EXT int *screamnext INIT(Null(int*)); - -#ifndef safemalloc -char *safemalloc(); -char *saferealloc(); -#endif -char *cpytill(); -char *instr(); -char *fbminstr(); -char *screaminstr(); -void fbmcompile(); -char *savestr(); -void my_setenv(); -int envix(); -void growstr(); -char *ninstr(); -char *rninstr(); -char *nsavestr(); -FILE *mypopen(); -int mypclose(); -#if !defined(HAS_BCOPY) || !defined(SAFE_BCOPY) -char *my_bcopy(); -#endif -#if !defined(HAS_BZERO) && !defined(HAS_MEMSET) -char *my_bzero(); -#endif -#ifndef HAS_MEMCMP -int my_memcmp(); -#endif -unsigned long scanoct(); -unsigned long scanhex(); +#ifdef VMS +# define PERL_FILE_IS_ABSOLUTE(f) \ + (*(f) == '/' \ + || (strchr(f,':') \ + || ((*(f) == '[' || *(f) == '<') \ + && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1]))))) + +#else /* !VMS */ +# if defined(WIN32) || defined(__CYGWIN__) +# define PERL_FILE_IS_ABSOLUTE(f) \ + (*(f) == '/' || *(f) == '\\' /* UNC/rooted path */ \ + || ((f)[0] && (f)[1] == ':')) /* drive name */ +# else /* !WIN32 */ +# ifdef NETWARE +# define PERL_FILE_IS_ABSOLUTE(f) \ + (((f)[0] && (f)[1] == ':') /* drive name */ \ + || ((f)[0] == '\\' && (f)[1] == '\\') /* UNC path */ \ + || ((f)[3] == ':')) /* volume name, currently only sys */ +# else /* !NETWARE */ +# if defined(DOSISH) || defined(EPOC) || defined(__SYMBIAN32__) +# define PERL_FILE_IS_ABSOLUTE(f) \ + (*(f) == '/' \ + || ((f)[0] && (f)[1] == ':')) /* drive name */ +# else /* NEITHER DOSISH NOR EPOCISH NOR SYMBIANISH */ +# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/') +# endif /* DOSISH */ +# endif /* NETWARE */ +# endif /* WIN32 */ +#endif /* VMS */ + +/* +=for apidoc ibcmp + +This is a synonym for (! foldEQ()) + +=for apidoc ibcmp_locale + +This is a synonym for (! foldEQ_locale()) + +=cut +*/ +#define ibcmp(s1, s2, len) cBOOL(! foldEQ(s1, s2, len)) +#define ibcmp_locale(s1, s2, len) cBOOL(! foldEQ_locale(s1, s2, len)) + + +/* + * Local variables: + * c-indentation-style: bsd + * c-basic-offset: 4 + * indent-tabs-mode: t + * End: + * + * ex: set ts=8 sts=4 sw=4 noet: + */