// NSLinkModule will cause the run to abort on any link error's
// not very friendly but the error recovery functionality is limited.
handle = NSLinkModule(ofile, path, TRUE);
+ NSDestroyObjectFileImage(ofile);
}
return handle;
SKIP: {
skip("no kill() support on Mac OS", 4) if $Is_MacOS;
+ print "# warning, darwin seems to loose blocked signals (failing test 10)\n" if($^O eq 'darwin');
my $mask = new POSIX::SigSet &SIGINT;
my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
sigaction(&SIGHUP, $action);
skip("_POSIX_OPEN_MAX is inaccurate on MPE", 1) if $Is_MPE;
skip("_POSIX_OPEN_MAX undefined ($fds[1])", 1) unless &_POSIX_OPEN_MAX;
- ok( &_POSIX_OPEN_MAX > $fds[1], '_POSIX_OPEN_MAX' );
+ ok( &_POSIX_OPEN_MAX == 16 || &_POSIX_OPEN_MAX == 20, "The two allowed values according to susv2 and susv3" );
+
}
my $pat;
# cppflags='-traditional-cpp';
# avoid Apple's cpp precompiler, better for extensions
cppflags="${cppflags} -no-cpp-precomp"
+# and ccflags needs them aswell since we don't use cpp directly
+ccflags="${ccflags} -no-cpp-precomp"
+
# Shared library extension is .dylib.
# Bundle extension is .bundle.
*define*)
cat <<EOM >&4
-*** You do not have threadsafe libraries, I cannot use threads.
-*** Cannot continue, aborting.
+*** Warning, there might be problems with your libraries with
+*** regards to threading.
+
EOM
- exit 1
+#*** You do not have threadsafe libraries, I cannot use threads.
+#*** Cannot continue, aborting.
+#EOM
+# exit 1
;;
esac
@INC = '../lib';
}
+use Config;
+$ENV{'PATH'} = '.' . $Config{'path_sep'} . $ENV{'PATH'};
+
use Test::More tests => 5;
use File::Spec;
/* Use the reentrant APIs like localtime_r and getpwent_r */
/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
-#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32)
+#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32) && !defined(__APPLE__)
# define USE_REENTRANT_API
#endif
STRLEN skip = do_utf8 ? UTF8SKIP(s) : 1;
if (reginclass(c, (U8*)s, do_utf8) ||
- (ANYOF_UNICODE_FOLD_SHARP_S(c, s, strend) &&
- (skip = 2))) {
+ (ANYOF_FOLD_SHARP_S(c, s, strend) &&
+ /* The assignment of 2 is intentional:
+ * for the sharp s, the skip is 2. */
+ (skip = SHARP_S_SKIP)
+ )) {
if (tmp && (norun || regtry(prog, s)))
goto got_it;
else
/* If we might have the case of the German sharp s
* in a casefolding Unicode character class. */
- if (ANYOF_UNICODE_FOLD_SHARP_S(scan, locinput, PL_regeol)) {
- locinput += 2;
+ if (ANYOF_FOLD_SHARP_S(scan, locinput, PL_regeol)) {
+ locinput += SHARP_S_SKIP;
nextchr = UCHARAT(locinput);
}
else
if (!$Config{d_seteuid}) {
print "ok 6 #skipped, no seteuid\n";
+}
+elsif ($Config{config_args} =~/Dmksymlinks/) {
+ print "ok 6 #skipped, we cannot chmod symlinks\n";
}
elsif ($bad_chmod) {
print "#[$@]\nok 6 #skipped\n";
#define UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA 0x03C2
#define UNICODE_GREEK_SMALL_LETTER_SIGMA 0x03C3
+#define EBCDIC_LATIN_SMALL_LETTER_SHARP_S 0x0059
+
#define UNI_DISPLAY_ISPRINT 0x0001
#define UNI_DISPLAY_BACKSLASH 0x0002
#define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
#define UNI_DISPLAY_REGEX (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
-#define ANYOF_UNICODE_FOLD_SHARP_S(node, input, end) \
+#ifdef EBCDIC
+# define ANYOF_FOLD_SHARP_S(node, input, end) \
+ (ANYOF_BITMAP_TEST(node, EBCDIC_LATIN_SMALL_LETTER_SHARP_S) && \
+ (ANYOF_FLAGS(node) & ANYOF_UNICODE) && \
+ (ANYOF_FLAGS(node) & ANYOF_FOLD) && \
+ ((end) > (input) + 1) && \
+ toLOWER((input)[0]) == 's' && \
+ toLOWER((input)[1]) == 's')
+#else
+# define ANYOF_FOLD_SHARP_S(node, input, end) \
(ANYOF_BITMAP_TEST(node, UNICODE_LATIN_SMALL_LETTER_SHARP_S) && \
(ANYOF_FLAGS(node) & ANYOF_UNICODE) && \
(ANYOF_FLAGS(node) & ANYOF_FOLD) && \
((end) > (input) + 1) && \
toLOWER((input)[0]) == 's' && \
toLOWER((input)[1]) == 's')
+#endif
+#define SHARP_S_SKIP 2