s |void |forbid_setid |const char flag|const bool suidscript
s |void |incpush |NULLOK const char *const dir|STRLEN len \
|U32 flags
-s |void |incpush_use_sep|NULLOK const char *p|U32 flags
+s |void |incpush_use_sep|NN const char *p|U32 flags
s |void |init_interp
s |void |init_ids
s |void |init_main_stash
if (s)
#endif
incpush_use_sep(s, old_vers ? old_vers : INCPUSH_ADD_SUB_DIRS);
- else if (!old_vers)
- incpush_use_sep(PerlEnv_getenv("PERLLIB"), 0);
+ else if (!old_vers) {
+ s = PerlEnv_getenv("PERLLIB");
+ if (s)
+ incpush_use_sep(s, 0);
+ }
#else /* VMS */
/* Treat PERL5?LIB as a possible search list logical name -- the
* "natural" VMS idiom for a Unix path string. We allow each
/* This logic has been broken out from S_incpush(). It may be possible to
simplify it. */
+ PERL_ARGS_ASSERT_INCPUSH_USE_SEP;
+
/* Break at all separators */
- while (p && *p) {
+ while (*p) {
const char *s;
/* skip any consecutive separators */
STATIC void S_forbid_setid(pTHX_ const char flag, const bool suidscript);
STATIC void S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags);
-STATIC void S_incpush_use_sep(pTHX_ const char *p, U32 flags);
+STATIC void S_incpush_use_sep(pTHX_ const char *p, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \
+ assert(p)
+
STATIC void S_init_interp(pTHX);
STATIC void S_init_ids(pTHX);
STATIC void S_init_main_stash(pTHX);