aboutsummaryrefslogtreecommitdiff
path: root/src/gsql_lib.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-08-22 09:49:59 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-08-22 11:23:16 +0300
commitf92dfd663dc50d9aac704c8df5ca48f5e35b8571 (patch)
tree48542f3bb6c0961db678cad49c0ce94d70793f6d /src/gsql_lib.c
parent6abb2548315b9db2925194e54f09f01126182f81 (diff)
downloadgamma-f92dfd663dc50d9aac704c8df5ca48f5e35b8571.tar.gz
gamma-f92dfd663dc50d9aac704c8df5ca48f5e35b8571.tar.bz2
Change library loading algorithm.
If the environment variable LD_LIBRARY_PATH is set, the loadable modules are first looked up in the directories listed in that variable, and then in the extension installation directory. Two attempts are made for each directory: first the library name with the -v-VERSION suffix is tried, then the library name without that suffix. * src: Rename to gamma * Makefile.am (SUBDIRS): Update. * configure.ac: Update. * scripts/bootstrap (srcdir, makefile): Update. * gamma/loader.sci: New file. * gamma/Makefile.am: Build loader.scm * src/sql.sci: Remove. * gamma/sql.scm: New file. * modules/sql (scm): Update. * src/syslog.sci: Remove. * gamma/syslog.scm: New file. * modules/syslog (scm): Update. * src/expat.sci: Remove. * gamma/expat.scm: New file. * modules/expat (scm): Update.
Diffstat (limited to 'src/gsql_lib.c')
-rw-r--r--src/gsql_lib.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/src/gsql_lib.c b/src/gsql_lib.c
deleted file mode 100644
index 7972595..0000000
--- a/src/gsql_lib.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* This file is part of Gamma.
- Copyright (C) 2002, 2010 Sergey Poznyakoff
-
- Gamma is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Gamma is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Gamma. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-#include <guile-sql.h>
-#include <app.h>
-#include <string.h>
-
-static struct gamma_parmdcl *
-find_parmdcl(struct gamma_parmdcl *dcl, const char *name)
-{
- for (; dcl->name; dcl++)
- if (strcmp(dcl->name, name) == 0)
- return dcl;
- return 0;
-}
-
-void
-gamma_parmlist_parse(SCM parmlist, struct gamma_parmdcl *dcltab,
- int flags, const char *func_name)
-{
- SCM elt;
-
- for (elt = parmlist; elt != SCM_EOL; elt = SCM_CDR(elt)) {
- SCM pair = SCM_CAR(elt);
- SCM kw;
- char *str;
- struct gamma_parmdcl *p;
-
- SCM_ASSERT(scm_is_pair(pair), pair, SCM_ARG1, func_name);
-
- kw = SCM_CAR(pair);
- SCM_ASSERT(scm_is_keyword(kw), kw, SCM_ARG1, func_name);
-
- str = scm_to_locale_string
- (scm_symbol_to_string(scm_keyword_to_symbol(kw)));
-
- p = find_parmdcl(dcltab, str);
- free(str);
- if (!p) {
- if (flags & GAMMA_PARMLIST_IGNORE_UNKNOWN)
- continue;
- if (flags & GAMMA_PARMLIST_WARN_UNKNOWN) {
- scm_simple_format
- (scm_current_error_port (),
- scm_from_locale_string("~S: undefined keyword: ~S~%"),
- scm_list_2(scm_from_locale_string(func_name),
- kw));
- continue;
- }
- scm_misc_error(func_name,
- "Unknown keyword: ~S",
- scm_list_1(kw));
- }
- if (p->cvt)
- p->cvt(SCM_CDR(pair), p->valptr, func_name);
- }
-}
-
-void
-gamma_cvt_string(SCM inval, void *outval, const char *func_name)
-{
- SCM_ASSERT(scm_is_string(inval), inval, SCM_ARGn, func_name);
- *(char**)outval = scm_to_locale_string(inval);
-}
-
-void
-gamma_cvt_int(SCM inval, void *outval, const char *func_name)
-{
- SCM_ASSERT(scm_is_number(inval), inval, SCM_ARGn, func_name);
- *(int*)outval = scm_to_int(inval);
-}
-
-extern void
-sql_init()
-{
- gsql_conn_init();
-#ifdef USE_SQL_MYSQL
- sql_register_iface(&mysql_iface);
-#endif
-#ifdef USE_SQL_PGSQL
- sql_register_iface(&pgsql_iface);
-#endif
-}
-
-

Return to:

Send suggestions and report system problems to the System administrator.