pike.git / src / builtin_functions.c

version» Context lines:

pike.git/src/builtin_functions.c:1602:    low_add_efun(Pike_sp[-args].u.string, Pike_sp-args+1);    }else{    low_add_efun(Pike_sp[-args].u.string, 0);    }    pop_n_elems(args);   }      /*! @decl string combine_path(string path, string ... paths)    *! @decl string combine_path_unix(string path, string ... paths)    *! @decl string combine_path_nt(string path, string ... paths) -  *! @decl string combine_path_amigaos(string path, string ... paths) +     *!    *! Concatenate a number of paths to a straightforward path without    *! any @expr{"//"@}, @expr{"/.."@} or @expr{"/."@}. If any path    *! argument is absolute then the result is absolute and the    *! preceding arguments are ignored. If the result is relative then    *! it might have leading @expr{".."@} components. If the last    *! nonempty argument ends with a directory separator then the    *! result ends with that too. If all components in a relative path    *! disappear due to subsequent @expr{".."@} components then the    *! result is @expr{"."@}.    *!    *! @[combine_path_unix()] concatenates in UNIX style, which also is    *! appropriate for e.g. URL:s ("/" separates path components and    *! absolute paths start with "/"). @[combine_path_nt()]    *! concatenates according to NT filesystem conventions ("/" and "\"    *! separates path components and there might be a drive letter in -  *! front of absolute paths). @[combine_path_amigaos()] concatenates -  *! according to AmigaOS filesystem conventions. +  *! front of absolute paths).    *!    *! @[combine_path()] is equivalent to @[combine_path_unix()] on UNIX-like    *! operating systems, and equivalent to @[combine_path_nt()] on NT-like -  *! operating systems, and equivalent to @[combine_path_amigaos()] on -  *! AmigaOS-like operating systems. +  *! operating systems.    *!    *! @seealso    *! @[getcwd()], @[Stdio.append_path()]    */      #define NT_COMBINE_PATH   #include "combine_path.h"      #define UNIX_COMBINE_PATH   #include "combine_path.h"    - #define AMIGAOS_COMBINE_PATH - #include "combine_path.h" -  -  -  +    /*! @decl int zero_type(mixed a)    *!    *! Return the type of zero.    *!    *! There are many types of zeros out there, or at least there are two.    *! One is returned by normal functions, and one returned by mapping    *! lookups and @[find_call_out()] when what you looked for wasn't there.    *! The only way to separate these two kinds of zeros is @[zero_type()].    *!    *! @returns
pike.git/src/builtin_functions.c:9267:    /* function(int,void|0=mixed:array(0)) */    ADD_EFUN("allocate", f_allocate,    tFunc(tInt tOr(tVoid,tSetvar(0,tMix)),tArr(tVar(0))), 0);       /* function(mixed:int) */    ADD_EFUN("arrayp", f_arrayp,tFunc(tMix,tInt01),0);       /* function(string...:string) */    ADD_EFUN("combine_path_nt",f_combine_path_nt,tFuncV(tNone,tStr,tStr),0);    ADD_EFUN("combine_path_unix",f_combine_path_unix,tFuncV(tNone,tStr,tStr),0); -  ADD_EFUN("combine_path_amigaos",f_combine_path_amigaos,tFuncV(tNone,tStr,tStr),0); +    #if defined(__NT__)    ADD_EFUN("combine_path",f_combine_path_nt,tFuncV(tNone,tStr,tStr),0);   #else - #ifdef __amigaos__ -  ADD_EFUN("combine_path",f_combine_path_amigaos,tFuncV(tNone,tStr,tStr),0); - #else +     ADD_EFUN("combine_path",f_combine_path_unix,tFuncV(tNone,tStr,tStr),0);   #endif - #endif +        ADD_EFUN("compile", f_compile,    tFunc(tStr tOr(tObj, tVoid) tOr(tInt, tVoid) tOr(tInt, tVoid) tOr(tPrg(tObj), tVoid) tOr(tObj, tVoid) ,tPrg(tObj)),    OPT_EXTERNAL_DEPEND);       /* function(1=mixed:1) */    ADD_EFUN("copy_value",f_copy_value,tFunc(tSetvar(1,tMix),tVar(1)),0);       /* function(string:string)|function(string,string:int) */    ADD_EFUN("crypt",f_crypt,