pike.git / src / opcodes.c

version» Context lines:

pike.git/src/opcodes.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: opcodes.c,v 1.153 2003/09/11 12:21:59 jhs Exp $ + || $Id: opcodes.c,v 1.154 2003/09/12 12:36:19 jhs Exp $   */      #include "global.h"   #include <errno.h>   #include <math.h>   #include <ctype.h>   #include "interpret.h"   #include "svalue.h"   #include "array.h"   #include "stralloc.h"
pike.git/src/opcodes.c:23:   #include "fd_control.h"   #include "cyclic.h"   #include "builtin_functions.h"   #include "module_support.h"   #include "security.h"   #include "bignum.h"   #include "operators.h"      #define sp Pike_sp    - RCSID("$Id: opcodes.c,v 1.153 2003/09/11 12:21:59 jhs Exp $"); + RCSID("$Id: opcodes.c,v 1.154 2003/09/12 12:36:19 jhs Exp $");      void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind)   {   #ifdef PIKE_SECURITY    if(what->type <= MAX_COMPLEX)    if(!CHECK_DATA_SECURITY(what->u.array, SECURITY_BIT_INDEX))    Pike_error("Index permission denied.\n");   #endif       switch(what->type)
pike.git/src/opcodes.c:2283:    *! character to just match, and not start an lvalue matcher directive).    *! @endstring    *!    *! Similar to @[sprintf], you may supply modifiers between the % character    *! and the operator, to slightly change its behaviour from the default:    *!    *! @string    *! @value "*"    *! The operator will only match its argument, without assigning any    *! variable. -  *! @value "number" +  *! @value number    *! You may define a field width by supplying a numeric modifier. This    *! means that the format should match that number of characters in the    *! input data; be it a @i{number@} characters long string, integer or    *! otherwise ("0101" using the format %2c would read an unsigned short    *! 12337, leaving the final "01" for later operators, for instance).    *! @value "-"    *! Supplying a minus sign toggles the decoding to read the data encoded    *! in little-endian byte order, rather than the default network    *! (big-endian) byte order.    *! @value "+"    *! Interpret the data as a signed entity. In other words, "%+1c" will -  *! read "\0xFF" as -1 instead of 255, as "%1c" would have. +  *! read "\xFF" as -1 instead of 255, as "%1c" would have.    *! @endstring    *!    *! @note    *! Sscanf does not use backtracking. Sscanf simply looks at the format string    *! up to the next % and tries to match that with the string. It then proceeds    *! to look at the next part. If a part does not match, sscanf immediately    *! returns how many % were matched. If this happens, the lvalues for % that    *! were not matched will not be changed.    *!    *! @example