pike.git / src / opcodes.c

version» Context lines:

pike.git/src/opcodes.c:18:   #include "error.h"   #include "pike_types.h"   #include "pike_memory.h"   #include "fd_control.h"   #include "cyclic.h"   #include "builtin_functions.h"   #include "module_support.h"   #include "security.h"   #include "bignum.h"    - RCSID("$Id: opcodes.c,v 1.62 1999/10/31 22:41:44 grubba Exp $"); + RCSID("$Id: opcodes.c,v 1.63 1999/10/31 22:53:38 grubba Exp $");      void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind)   {    INT32 i;      #ifdef PIKE_SECURITY    if(what->type <= MAX_COMPLEX)    if(!CHECK_DATA_SECURITY(what->u.array, SECURITY_BIT_INDEX))    error("Index permission denied.\n");   #endif
pike.git/src/opcodes.c:796:    do { \    float f; \    ((char *)&f)[3] = *((INPUT)); \    ((char *)&f)[2] = *((INPUT)+1); \    ((char *)&f)[1] = *((INPUT)+2); \    ((char *)&f)[0] = *((INPUT)+3); \    (SVAL).u.float_number = f; \    } while(0)   #else   #define EXTRACT_FLOAT(SVAL, INPUT, SHIFT) \ -  /* FIXME! */ \ -  (SVAL).u.float_number = low_parse_IEEE_float((INPUT), 4) +  do { \ +  char x[4]; \ +  x[0] = (INPUT)[0]; \ +  x[1] = (INPUT)[1]; \ +  x[2] = (INPUT)[2]; \ +  x[3] = (INPUT)[3]; \ +  (SVAL).u.float_number = low_parse_IEEE_float(x, 4); \ +  } while(0)   #endif   #endif      #ifdef DOUBLE_IS_IEEE_BIG   #define EXTRACT_DOUBLE(SVAL, INPUT, SHIFT) \    do { \    double d; \    ((char *)&d)[0] = *((INPUT)); \    ((char *)&d)[1] = *((INPUT)+1); \    ((char *)&d)[2] = *((INPUT)+2); \
pike.git/src/opcodes.c:832:    ((char *)&d)[5] = *((INPUT)+2); \    ((char *)&d)[4] = *((INPUT)+3); \    ((char *)&d)[3] = *((INPUT)+4); \    ((char *)&d)[2] = *((INPUT)+5); \    ((char *)&d)[1] = *((INPUT)+6); \    ((char *)&d)[0] = *((INPUT)+7); \    (SVAL).u.float_number = (float)d; \    } while(0)   #else   #define EXTRACT_DOUBLE(SVAL, INPUT, SHIFT) \ -  /* FIXME! */ \ -  (SVAL).u.float_number = low_parse_IEEE_float((INPUT), 8) +  do { \ +  char x[8]; \ +  x[0] = (INPUT)[0]; \ +  x[1] = (INPUT)[1]; \ +  x[2] = (INPUT)[2]; \ +  x[3] = (INPUT)[3]; \ +  x[4] = (INPUT)[4]; \ +  x[5] = (INPUT)[5]; \ +  x[6] = (INPUT)[6]; \ +  x[7] = (INPUT)[7]; \ +  (SVAL).u.float_number = low_parse_IEEE_float(x, 8); \ +  } while(0)   #endif   #endif      #define MK_VERY_LOW_SSCANF(INPUT_SHIFT, MATCH_SHIFT) \   static INT32 PIKE_CONCAT4(very_low_sscanf_,INPUT_SHIFT,_,MATCH_SHIFT)( \    PIKE_CONCAT(p_wchar, INPUT_SHIFT) *input, \    long input_len, \    PIKE_CONCAT(p_wchar, MATCH_SHIFT) *match, \    long match_len, \    long *chars_matched, \