Branch: Tag:

2014-11-15

2014-11-15 13:42:52 by Stephen R. van den Berg <srb@cuci.nl>

Remove superfluous legacy compat support prior to 7.8.

237:    *! @decl int hash(string s, int max)    *!    *! Return an integer derived from the string @[s]. The same string -  *! will always hash to the same value, also between processes. -  *! -  *! If @[max] is given, the result will be >= 0 and < @[max], -  *! otherwise the result will be >= 0 and <= 0x7fffffff. -  *! -  *! @note -  *! This function is provided for backward compatibility reasons. -  *! -  *! This function is byte-order dependant for wide strings. -  *! -  *! @seealso -  *! @[predef::hash()], @[7.0::hash()] -  */ - static void f_hash_7_4(INT32 args) - { -  size_t i = 0; -  struct pike_string *s = Pike_sp[-args].u.string; -  -  if(!args) -  SIMPLE_TOO_FEW_ARGS_ERROR("7.4::hash",1); -  -  if(TYPEOF(Pike_sp[-args]) != T_STRING) -  SIMPLE_BAD_ARG_ERROR("7.4::hash", 1, "string"); -  -  i = simple_hashmem((unsigned char *)s->str, s->len<<s->size_shift, -  100<<s->size_shift); -  -  if(args > 1) -  { -  if(TYPEOF(Pike_sp[1-args]) != T_INT) -  SIMPLE_BAD_ARG_ERROR("7.4::hash",2,"int"); -  -  if(!Pike_sp[1-args].u.integer) -  PIKE_ERROR("7.4::hash", "Modulo by zero.\n", Pike_sp, args); -  -  i%=(unsigned INT32)Pike_sp[1-args].u.integer; -  } -  pop_n_elems(args); -  push_int64(i); - } -  - /*! @endnamespace -  */ -  - ATTRIBUTE((const)) static INLINE size_t hashstr(const unsigned char *str, ptrdiff_t maxn) - { -  size_t ret,c; -  -  if(!(ret=str++[0])) -  return ret; -  for(; maxn>=0; maxn--) -  { -  c=str++[0]; -  if(!c) break; -  ret ^= ( ret << 4 ) + c ; -  ret &= 0x7fffffff; -  } -  -  return ret; - } -  - /*! @decl int hash_7_0(string s) -  *! @decl int hash_7_0(string s, int max) -  *! -  *! Return an integer derived from the string @[s]. The same string -  *! always hashes to the same value, also between processes. -  *! -  *! If @[max] is given, the result will be >= 0 and < @[max], -  *! otherwise the result will be >= 0 and <= 0x7fffffff. -  *! -  *! @note -  *! This function is provided for backward compatibility with -  *! code written for Pike up and including version 7.0. -  *! -  *! This function is not NUL-safe, and is byte-order dependant. -  *! -  *! @seealso -  *! @[hash()], @[7.4::hash()] -  */ - static void f_hash_7_0( INT32 args ) - { -  struct pike_string *s = Pike_sp[-args].u.string; -  unsigned int i; -  if(!args) -  SIMPLE_TOO_FEW_ARGS_ERROR("7.0::hash",1); -  if(TYPEOF(Pike_sp[-args]) != T_STRING) -  SIMPLE_BAD_ARG_ERROR("7.0::hash", 1, "string"); -  -  if( s->size_shift ) -  { -  f_hash_7_4( args ); -  return; -  } -  -  i = DO_NOT_WARN((unsigned int)hashstr( (unsigned char *)s->str, -  MINIMUM(100,s->len))); -  if(args > 1) -  { -  if(TYPEOF(Pike_sp[1-args]) != T_INT) -  SIMPLE_BAD_ARG_ERROR("7.0::hash",2,"int"); -  -  if(!Pike_sp[1-args].u.integer) -  PIKE_ERROR("7.0::hash", "Modulo by zero.\n", Pike_sp, args); -  -  i%=(unsigned INT32)Pike_sp[1-args].u.integer; -  } -  pop_n_elems(args); -  push_int( i ); - } -  - /*! @decl int hash(string s) -  *! @decl int hash(string s, int max) -  *! -  *! Return an integer derived from the string @[s]. The same string +     *! always hashes to the same value, also between processes,    *! architectures, and Pike versions (see compatibility notes below,    *! though).
359:    *! otherwise the result will be >= 0 and <= 0x7fffffff.    *!    *! @note -  *! The hash algorithm was changed in Pike 7.5. If you want a hash -  *! that is compatible with Pike 7.4 and earlier, use @[7.4::hash()]. -  *! The difference only affects wide strings. -  *! -  *! The hash algorithm was also changed in Pike 7.1. If you want a hash -  *! that is compatible with Pike 7.0 and earlier, use @[7.0::hash()]. -  *! -  *! @note +     *! This hash function differs from the one provided by @[hash_value()],    *! in that @[hash_value()] returns a process specific value.    *!    *! @seealso -  *! @[hash_7_0()], @[7.4::hash()], @[hash_value] +  *! @[hash_value]    */   PMOD_EXPORT void f_hash(INT32 args)   {
1817:    *!    *! Converts an UTF16 byte-stream into a string.    *! -  *! @note -  *! This function did not decode surrogates in Pike 7.2 and earlier. -  *! +     *! @seealso    *! @[Charset.decoder()], @[string_to_unicode()], @[string_to_utf8()],    *! @[utf8_to_string()]
5471: Inside #if defined(PIKE_DEBUG)
   *!    *! @param indent    *! Number of spaces to indent the output. -  *! -  *! @note -  *! In Pike 7.8.308 and earlier @[indent] wasn't supported. +     */   void f__dump_program_tables(INT32 args)   {
9729:   /* function(string,int|void:int) */    ADD_EFUN("hash",f_hash,tFunc(tStr tOr(tInt,tVoid),tInt),OPT_TRY_OPTIMIZE);    -  ADD_EFUN("hash_7_0",f_hash_7_0, -  tFunc(tStr tOr(tInt,tVoid),tInt),OPT_TRY_OPTIMIZE); -  -  ADD_EFUN("hash_7_4",f_hash_7_4, -  tFunc(tStr tOr(tInt,tVoid),tInt),OPT_TRY_OPTIMIZE); -  +     ADD_EFUN("hash_value",f_hash_value,tFunc(tMix,tInt),OPT_TRY_OPTIMIZE);       ADD_EFUN2("indices",f_indices,