pike.git / src / builtin_functions.c

version» Context lines:

pike.git/src/builtin_functions.c:216:    if (count) {    add_args = mknode(F_ARG_LIST, add_args,    mkapplynode(copy_node(CAR(n)), new_args));    new_args = NULL;    count = 0;    }    CDR(n)->parent = n;    return mkefuncallnode("`+", add_args);   }    - /*! @decl int hash_7_4(string s) -  *! @decl int hash_7_4(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.4. -  *! -  *! This function is byte-order dependant. -  *! -  *! @seealso -  *! @[hash()], @[hash_7_0] -  */ -  +    #define MK_HASHMEM(NAME, TYPE) ATTRIBUTE((const)) \    static INLINE size_t NAME(const TYPE *str, ptrdiff_t len, ptrdiff_t maxn) \    { \    size_t ret,c; \    \    ret = len*92873743; \    \    len = MINIMUM(maxn,len); \    for(; len>=0; len--) \    { \
pike.git/src/builtin_functions.c:260:    }      MK_HASHMEM(simple_hashmem, unsigned char)   MK_HASHMEM(simple_hashmem1, p_wchar1)   MK_HASHMEM(simple_hashmem2, p_wchar2)      /*! @decl int hash_7_4(string s)    *! @decl int hash_7_4(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. +  *! 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 reasons. +  *! This function is provided for backward compatibility with +  *! code written for Pike up and including version 7.4.    *!    *! This function is byte-order dependant for wide strings.    *!    *! @seealso -  *! @[predef::hash()], @[7.0::hash()] +  *! @[hash()], @[hash_7_0]    */   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)
pike.git/src/builtin_functions.c:380:    *! 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).    *!    *! If @[max] is given, the result will be >= 0 and < @[max],    *! 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()]. +  *! that is compatible with Pike 7.4 and earlier, use @[hash_7_4()].    *! 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()]. +  *! that is compatible with Pike 7.0 and earlier, use @[hash_7_0()].    *!    *! @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()], @[hash_7_4()], @[hash_value]    */   PMOD_EXPORT void f_hash(INT32 args)   {