From 1e57a2e97816716c578edd9e21895051483b894b Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Sun, 15 Feb 2015 02:33:54 +0000 Subject: [PATCH] path setup --- C/sysbits.c | 40 ++++++++++++++++----------------- library/ypp.yap | 19 ++++++++++++++-- packages/Dialect.defs.in | 2 +- packages/myddas/myddas_shared.c | 11 ++++----- packages/myddas/myddas_util.c | 2 +- 5 files changed, 44 insertions(+), 30 deletions(-) diff --git a/C/sysbits.c b/C/sysbits.c index 478807661..f5d36d123 100644 --- a/C/sysbits.c +++ b/C/sysbits.c @@ -245,27 +245,6 @@ initSysPath(Term tlib, Term tcommons, bool dir_done, bool commons_done) { CACHE_REGS int len; -#if __WINDOWS__ - { - char *dir; - if ((dir = Yap_RegistryGetString("library")) && - is_directory(dir)) { - if (! Yap_unify( tlib, - MkAtomTerm(Yap_LookupAtom(dir))) ) - return FALSE; - } - dir_done = true; - if ((dir = Yap_RegistryGetString("prolog_commons")) && - is_directory(dir)) { - if (! Yap_unify( tcommons, - MkAtomTerm(Yap_LookupAtom(dir))) ) - return FALSE; - } - commons_done = true; - } - if (dir_done && commons_done) - return TRUE; -#endif strncpy(LOCAL_FileNameBuf, YAP_SHAREDIR, YAP_FILENAME_MAX); strncat(LOCAL_FileNameBuf,"/", YAP_FILENAME_MAX); len = strlen(LOCAL_FileNameBuf); @@ -294,6 +273,25 @@ initSysPath(Term tlib, Term tcommons, bool dir_done, bool commons_done) { return TRUE; #if __WINDOWS__ + { + char *dir; + if ((dir = Yap_RegistryGetString("library")) && + is_directory(dir)) { + if (! Yap_unify( tlib, + MkAtomTerm(Yap_LookupAtom(dir))) ) + return FALSE; + } + dir_done = true; + if ((dir = Yap_RegistryGetString("prolog_commons")) && + is_directory(dir)) { + if (! Yap_unify( tcommons, + MkAtomTerm(Yap_LookupAtom(dir))) ) + return FALSE; + } + commons_done = true; + } + if (dir_done && commons_done) + return TRUE; { size_t buflen; char *pt; diff --git a/library/ypp.yap b/library/ypp.yap index d5cc22ec6..d622b5ffa 100644 --- a/library/ypp.yap +++ b/library/ypp.yap @@ -69,8 +69,23 @@ get_state(State):- store_define(Name,Value):- - (recorded('___ypp',def(Name,_),Ref)->erase(Ref);true), - recordz('___ypp',def(Name,Value),_). + recorded('___ypp',def(Name,_),Ref), + erase(Ref), + fail. +store_define(Name,Value):- + system_variable( Name ), + environ( Name, Value ), + fail. +store_define(Name,Value):- + recordz('___ypp',def(Name,Value),_), + fail. +store_define(_Name,_Value). + +system_variable( Name ). +system_variable( Name ). +system_variable( Name ). +system_variable( Name ). + del_define(Name):- (recorded('___ypp',def(Name,_),Ref)->erase(Ref);true), diff --git a/packages/Dialect.defs.in b/packages/Dialect.defs.in index 33f451014..5cd15f129 100755 --- a/packages/Dialect.defs.in +++ b/packages/Dialect.defs.in @@ -38,7 +38,7 @@ YAPLIBDIR=@libdir@/Yap SHAREDIR=$(ROOTDIR)/share/Yap abs_top_builddir=@abs_top_builddir@ abs_top_srcdir=@abs_top_srcdir@ -PL=@PRE_INSTALL_ENV@ YAPSHAREDIR=$(abs_top_srcdir)/library:$(abs_top_srcdir)/swi/library:$(abs_top_srcdir)/packages/clib $(abs_top_builddir)/yap@EXEC_SUFFIX@ $(abs_top_builddir)/startup.yss +PL= @PRE_INSTALL_ENV@ $(abs_top_builddir)/yap@EXEC_SUFFIX@ $(abs_top_builddir)/startup.yss -DYAPSHAREDIR=$(abs_top_srcdir)/library:$(abs_top_srcdir)/swi/library:$(abs_top_srcdir)/packages/clib CC=@CC@ LD=@SHLIB_LD@ diff --git a/packages/myddas/myddas_shared.c b/packages/myddas/myddas_shared.c index ee8d8b8ab..100de1e7b 100644 --- a/packages/myddas/myddas_shared.c +++ b/packages/myddas/myddas_shared.c @@ -139,7 +139,7 @@ c_db_connection_type ( USES_REGS1 ){ /* SQLITE3 Connection */ return Yap_unify(arg_type, MkAtomTerm(Yap_LookupAtom("postgres"))); } - return Yap_Error(SYSTEM_ERROR, TermNil, "Unverified DBMS"); + return FALSE; } /* db_add_preds: PredName * Arity * Module * Connection*/ @@ -699,7 +699,6 @@ void Yap_MYDDAS_delete_all_myddas_structs(void) MYDDAS_MEMORY_FREE_SIZE(nr); printf ("Total memory freed in MYDDAS : " UInt_FORMAT " \n",(UInt)nr); #endif - } @@ -749,7 +748,7 @@ init_myddas(void) Yap_PutValue(AtomMyddasHost,MkAtomTerm(Yap_LookupAtom(yap_init->myddas_host))); } #endif -#if defined MYDDAS_MYSQL || defined MYDDAS_ODBC +#if USE_MYDDAS #define stringify(X) _stringify(X) #define _stringify(X) #X Yap_REGS.MYDDAS_GLOBAL_POINTER = NULL; @@ -764,7 +763,9 @@ init_myddas(void) #ifdef _WIN32 -int WINAPI PROTO(win_myddas, (HANDLE, DWORD, LPVOID)); +#include + +int WINAPI win_myddas(HANDLE hinst, DWORD reason, LPVOID reserved); int WINAPI win_myddas(HANDLE hinst, DWORD reason, LPVOID reserved) { @@ -785,4 +786,4 @@ int WINAPI win_myddas(HANDLE hinst, DWORD reason, LPVOID reserved) -#endif /*MYDDAS_MYSQL || MYDDAS_ODBC*/ +#endif /* USE_MYDDAS*/ diff --git a/packages/myddas/myddas_util.c b/packages/myddas/myddas_util.c index cf2d4aa75..f1276680c 100644 --- a/packages/myddas/myddas_util.c +++ b/packages/myddas/myddas_util.c @@ -355,7 +355,7 @@ myddas_util_get_pred_name(void *pointer){ } char * -vmyddas_util_get_pred_module(void *pointer){ +myddas_util_get_pred_module(void *pointer){ MYDDAS_UTIL_PREDICATE temp = (MYDDAS_UTIL_PREDICATE) pointer; return temp->pred_module; }