pike.git
/
src
/
program.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.c:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: program.c,v 1.
773
2009
/
11
/
28
13
:
36
:
21
mast
Exp $
+
|| $Id: program.c,v 1.
774
2010
/
02
/
08
17
:
40
:
10
grubba
Exp $
*/ #include "global.h" #include "program.h" #include "object.h" #include "dynamic_buffer.h" #include "pike_types.h" #include "stralloc.h" #include "las.h" #include "lex.h"
pike.git/src/program.c:9201:
*! Returns @tt{UNDEFINED@} otherwise (this is not an error indication). *! *! @seealso *! @[pop_type_attribute()], @[push_type_attribute()] */ static void f_compilation_apply_attribute_constant(INT32 args) { struct compilation *c = THIS_COMPILATION; struct pike_string *attribute; struct pike_string *test;
-
get_all_args("apply_attribute_constant", args, "%S", &attribute);
+
struct svalue *sval;
+
get_all_args("apply_attribute_constant", args, "%S
%*
", &attribute
, &sval
);
+
+
if ((sval->type == T_INT) && !sval->u.integer) {
+
pop_n_elems(args);
+
push_undefined();
+
return;
+
}
+
MAKE_CONST_STRING(test, "sprintf_format"); if (attribute == test) { f___handle_sprintf_format(args); return; } MAKE_CONST_STRING(test, "strict_sprintf_format"); if (attribute == test) { f___handle_sprintf_format(args); return; }