-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
| 829 | |
| 830 | /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ |
| 831 | BOOLEAN iiTryLoadLib(leftv v, const char *id) |
| 832 | { |
| 833 | BOOLEAN LoadResult = TRUE; |
| 834 | char libnamebuf[1024]; |
| 835 | size_t len=strlen(id)+5; |
| 836 | char *libname = (char *)omAlloc(len); |
| 837 | const char *suffix[] = { "", ".lib", ".so", ".sl", NULL }; |
| 838 | int i = 0; |
| 839 | // FILE *fp; |
| 840 | // package pack; |
| 841 | // idhdl packhdl; |
| 842 | lib_types LT; |
| 843 | for(i=0; suffix[i] != NULL; i++) |
| 844 | { |
| 845 | snprintf(libname,len, "%s%s", id, suffix[i]); |
| 846 | *libname = mytolower(*libname); |
| 847 | if((LT = type_of_LIB(libname, libnamebuf)) > LT_NOTFOUND) |
| 848 | { |
| 849 | #ifdef HAVE_DYNAMIC_LOADING |
| 850 | char libnamebuf[1024]; |
| 851 | #endif |
| 852 | |
| 853 | if (LT==LT_SINGULAR) |
| 854 | LoadResult = iiLibCmd(libname, FALSE, FALSE,TRUE); |
| 855 | #ifdef HAVE_DYNAMIC_LOADING |
| 856 | else if ((LT==LT_ELF) || (LT==LT_HPUX)) |
| 857 | LoadResult = load_modules(libname,libnamebuf,FALSE); |
| 858 | #endif |
| 859 | else if (LT==LT_BUILTIN) |
| 860 | { |
| 861 | LoadResult=load_builtin(libname,FALSE, iiGetBuiltinModInit(libname)); |
| 862 | } |
| 863 | if(!LoadResult ) |
| 864 | { |
| 865 | v->name = iiConvName(libname); |
| 866 | break; |
| 867 | } |
| 868 | } |
| 869 | } |
| 870 | omFree(libname); |
| 871 | return LoadResult; |
| 872 | } |
| 873 | |
| 874 | /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ |
| 875 | /* check, if library lib has already been loaded |
no test coverage detected