|
Packit |
7d6a7d |
################################################################################
|
|
Packit |
7d6a7d |
##
|
|
Packit |
7d6a7d |
## Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
|
|
Packit |
7d6a7d |
## Version 2.x, Copyright (C) 2001, Paul Marquess.
|
|
Packit |
7d6a7d |
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
|
|
Packit |
7d6a7d |
##
|
|
Packit |
7d6a7d |
## This program is free software; you can redistribute it and/or
|
|
Packit |
7d6a7d |
## modify it under the same terms as Perl itself.
|
|
Packit |
7d6a7d |
##
|
|
Packit |
7d6a7d |
################################################################################
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
=provides
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
__UNDEFINED__
|
|
Packit |
7d6a7d |
ckWARN
|
|
Packit |
7d6a7d |
warner
|
|
Packit |
7d6a7d |
Perl_warner
|
|
Packit |
7d6a7d |
Perl_warner_nocontext
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
=implementation
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_ALL 0
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_CLOSURE 1
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_DEPRECATED 2
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_EXITING 3
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_GLOB 4
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_IO 5
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_CLOSED 6
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_EXEC 7
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_LAYER 8
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_NEWLINE 9
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PIPE 10
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_UNOPENED 11
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_MISC 12
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_NUMERIC 13
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_ONCE 14
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_OVERFLOW 15
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PACK 16
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PORTABLE 17
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_RECURSION 18
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_REDEFINE 19
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_REGEXP 20
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_SEVERE 21
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_DEBUGGING 22
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_INPLACE 23
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_INTERNAL 24
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_MALLOC 25
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_SIGNAL 26
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_SUBSTR 27
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_SYNTAX 28
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_AMBIGUOUS 29
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_BAREWORD 30
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_DIGIT 31
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PARENTHESIS 32
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PRECEDENCE 33
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PRINTF 34
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_PROTOTYPE 35
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_QW 36
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_RESERVED 37
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_SEMICOLON 38
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_TAINT 39
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_THREADS 40
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_UNINITIALIZED 41
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_UNPACK 42
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_UNTIE 43
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_UTF8 44
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_VOID 45
|
|
Packit |
7d6a7d |
__UNDEFINED__ WARN_ASSERTIONS 46
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
__UNDEFINED__ packWARN(a) (a)
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#ifndef ckWARN
|
|
Packit |
7d6a7d |
# ifdef G_WARN_ON
|
|
Packit |
7d6a7d |
# define ckWARN(a) (PL_dowarn & G_WARN_ON)
|
|
Packit |
7d6a7d |
# else
|
|
Packit |
7d6a7d |
# define ckWARN(a) PL_dowarn
|
|
Packit |
7d6a7d |
# endif
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#if { VERSION >= 5.004 } && !defined(warner)
|
|
Packit |
7d6a7d |
#if { NEED warner }
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
void
|
|
Packit |
7d6a7d |
warner(U32 err, const char *pat, ...)
|
|
Packit |
7d6a7d |
{
|
|
Packit |
7d6a7d |
SV *sv;
|
|
Packit |
7d6a7d |
va_list args;
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
PERL_UNUSED_ARG(err);
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
va_start(args, pat);
|
|
Packit |
7d6a7d |
sv = vnewSVpvf(pat, &args);
|
|
Packit |
7d6a7d |
va_end(args);
|
|
Packit |
7d6a7d |
sv_2mortal(sv);
|
|
Packit |
7d6a7d |
warn("%s", SvPV_nolen(sv));
|
|
Packit |
7d6a7d |
}
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#define warner Perl_warner
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#define Perl_warner_nocontext Perl_warner
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
=xsinit
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#define NEED_warner
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
=xsubs
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
void
|
|
Packit |
7d6a7d |
warner()
|
|
Packit |
7d6a7d |
CODE:
|
|
Packit |
7d6a7d |
#if { VERSION >= 5.004 }
|
|
Packit |
7d6a7d |
warner(packWARN(WARN_MISC), "warner %s:%d", "bar", 42);
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
void
|
|
Packit |
7d6a7d |
Perl_warner()
|
|
Packit |
7d6a7d |
CODE:
|
|
Packit |
7d6a7d |
#if { VERSION >= 5.004 }
|
|
Packit |
7d6a7d |
Perl_warner(aTHX_ packWARN(WARN_MISC), "Perl_warner %s:%d", "bar", 42);
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
void
|
|
Packit |
7d6a7d |
Perl_warner_nocontext()
|
|
Packit |
7d6a7d |
CODE:
|
|
Packit |
7d6a7d |
#if { VERSION >= 5.004 }
|
|
Packit |
7d6a7d |
Perl_warner_nocontext(packWARN(WARN_MISC), "Perl_warner_nocontext %s:%d", "bar", 42);
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
void
|
|
Packit |
7d6a7d |
ckWARN()
|
|
Packit |
7d6a7d |
CODE:
|
|
Packit |
7d6a7d |
#if { VERSION >= 5.004 }
|
|
Packit |
7d6a7d |
if (ckWARN(WARN_MISC))
|
|
Packit |
7d6a7d |
Perl_warner_nocontext(packWARN(WARN_MISC), "ckWARN %s:%d", "bar", 42);
|
|
Packit |
7d6a7d |
#endif
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
=tests plan => 5
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$^W = 0;
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
my $warning;
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$SIG{'__WARN__'} = sub { $warning = $_[0] };
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$warning = '';
|
|
Packit |
7d6a7d |
Devel::PPPort::warner();
|
|
Packit |
7d6a7d |
ok($] >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$warning = '';
|
|
Packit |
7d6a7d |
Devel::PPPort::Perl_warner();
|
|
Packit |
7d6a7d |
ok($] >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$warning = '';
|
|
Packit |
7d6a7d |
Devel::PPPort::Perl_warner_nocontext();
|
|
Packit |
7d6a7d |
ok($] >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$warning = '';
|
|
Packit |
7d6a7d |
Devel::PPPort::ckWARN();
|
|
Packit |
7d6a7d |
ok($warning, '');
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$^W = 1;
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
$warning = '';
|
|
Packit |
7d6a7d |
Devel::PPPort::ckWARN();
|
|
Packit |
7d6a7d |
ok($] >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
|