summaryrefslogtreecommitdiffabout
path: root/src
Side-by-side diff
Diffstat (limited to 'src') (more/less context) (ignore whitespace changes)
-rw-r--r--src/.cvsignore3
-rw-r--r--src/Makefile.am19
-rw-r--r--src/app.h13
-rw-r--r--src/gettext.scm29
-rw-r--r--src/gsql_conn.c88
-rw-r--r--src/gsql_lib.c29
-rw-r--r--src/guile-sql.h22
-rw-r--r--src/mysql.c48
-rw-r--r--src/pgsql.c44
9 files changed, 140 insertions, 155 deletions
diff --git a/src/.cvsignore b/src/.cvsignore
index cff4dcc..822742d 100644
--- a/src/.cvsignore
+++ b/src/.cvsignore
@@ -10,6 +10,3 @@ guile-procedures.txt
gsql_conn.inc
gsql_lib.inc
sql.scm
-gettext.inc
-gettext.scm
-
diff --git a/src/Makefile.am b/src/Makefile.am
index 8b44d37..c5d713b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
# This file is part of guile-sql.
-# Copyright (C) 2002, Sergey Poznyakoff
+# Copyright (C) 2002, 2007, Sergey Poznyakoff
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -12,9 +12,8 @@
INCLUDES =-I$(top_builddir) -I$(srcdir) -I. @GUILE_INCLUDES@ @INCLUDEPATH@
LIB_SQL=libguile-sql.la
-LIB_GETTEXT=libguile-gettext.la
-EXTRA_LTLIBRARIES=libguile-sql.la libguile-gettext.la
+EXTRA_LTLIBRARIES=libguile-sql.la
lib_LTLIBRARIES=@BUILD_LIBS@
libguile_sql_la_LIBADD = @LTLIBOBJS@ @GUILE_LIBS@
@@ -24,30 +23,22 @@ libguile_sql_la_SOURCES=\
libguile_sql_la_LDFLAGS = -rpath $(libdir) -version-info 0:0:0
-libguile_gettext_la_LIBADD = @GUILE_LIBS@ @LTLIBINTL@
-libguile_gettext_la_SOURCES = gettext.c
-
-libguile_gettext_la_LDFLAGS = -rpath $(libdir) -version-info 0:0:0
-
-
-noinst_HEADERS=guile-sql.h app.h gettext.h
-EXTRA_DIST=sql.sci gettext.sci
+noinst_HEADERS=guile-sql.h app.h
+EXTRA_DIST=sql.sci gettext.scm
.sci.scm:
m4 -DVERSION=$(VERSION) -DLIBDIR=$(libdir) \
-DBUILDDIR="`pwd`" $< > $@
sql.scm: Makefile $(libguile_sql_la_SOURCES:.c=.inc)
-gettext.scm: Makefile $(libguile_gettext_la_SOURCES:.c=.inc)
SCM_SQL=sql.scm
X_SQL=gsql_conn.x
SCM_GETTEXT=gettext.scm
-X_GETTEXT=gettext.x
guiledir=$(GUILE_SITE)/$(PACKAGE)
-guile_DATA=guile-procedures.txt @BUILD_DATA@
+guile_DATA=guile-procedures.txt @BUILD_DATA@
DOT_X_FILES=@BUILD_X@
DOT_DOC_FILES=$(DOT_X_FILES:.x=.doc)
CLEANFILES=*.inc *.x *.doc
diff --git a/src/app.h b/src/app.h
index 56100c5..6b205ee 100644
--- a/src/app.h
+++ b/src/app.h
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
Copyright (C) 2002 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef USE_SQL_MYSQL
extern struct sql_iface mysql_iface;
diff --git a/src/gettext.scm b/src/gettext.scm
new file mode 100644
index 0000000..a60bd59
--- a/dev/null
+++ b/src/gettext.scm
@@ -0,0 +1,29 @@
+;;;; This file is part of gettext interface for guile.
+;;;; Copyright (C) 2004, 2007 Sergey Poznyakoff
+;;;;
+;;;; This program 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 of the License, or (at your
+;;;; option) any later version.
+;;;;
+;;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+(define-module (gamma gettext))
+
+(define (_ msgid)
+ (gettext msgid))
+
+(define (N_ msgid)
+ msgid)
+
+(export _)
+(export N_)
+
+;;;; EOF
diff --git a/src/gsql_conn.c b/src/gsql_conn.c
index 3a44c18..4a78094 100644
--- a/src/gsql_conn.c
+++ b/src/gsql_conn.c
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
Copyright (C) 2002, 2005 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -21,14 +20,14 @@
#include <string.h>
#include <guile-sql.h>
#include <app.h>
+#include <stdio.h>
static int num_iface;
-struct sql_iface sql_iftab[MAX_IFACES];
+static struct sql_iface sql_iftab[MAX_IFACES];
SCM_GLOBAL_SYMBOL (gsql_error, "gsql-error");
-
-long sql_connect_tag;
+static long sql_connect_tag = -1;
/* SMOB functions: */
static SCM
@@ -50,7 +49,7 @@ sql_connect_free (SCM connect_smob)
free(conn->username);
if (conn->database)
free(conn->database);
- free(conn);
+ scm_gc_free(conn, sizeof *conn, "SQL connection");
return size;
}
@@ -76,8 +75,8 @@ sql_connect_print (SCM connect_smob, SCM port, scm_print_state * pstate)
return 1;
}
-int
-sql_find_iface(char *name)
+static int
+sql_find_iface(const char *name)
{
int iface;
@@ -95,15 +94,15 @@ sql_connect_create (char *name)
if (iface < 0)
scm_misc_error("sql_connect_create",
"Unknown SQL interface ~S",
- SCM_LIST1(scm_makfrom0str(name)));
+ scm_list_1(scm_makfrom0str(name)));
- conn = scm_must_malloc (sizeof (*conn), "sql_connect");
+ conn = scm_gc_malloc (sizeof (*conn), "sql_connect");
memset(conn, 0, sizeof *conn);
conn->iface = iface;
SCM_RETURN_NEWSMOB (sql_connect_tag, conn);
}
-int
+static int
scm_is_sql_connect (SCM scm)
{
return SCM_NIMP (scm) && SCM_CAR (scm) == (SCM) sql_connect_tag;
@@ -117,18 +116,18 @@ SCM_DEFINE (sql_connect, "sql-connect", 5, 1, 0,
#define FUNC_NAME s_sql_connect
{
SCM smob;
- char *hostname;
+ const char *hostname;
int port;
- char *dbname;
- char *user;
- char *pass;
+ const char *dbname;
+ const char *user;
+ const char *pass;
int iface;
struct sql_connect *conn;
- if (SCM_IMP(IFACE) && SCM_INUMP(IFACE))
- iface = SCM_INUM(IFACE);
- else if (SCM_STRINGP(IFACE))
- iface = sql_find_iface(SCM_CHARS(IFACE));
+ if (scm_is_integer(IFACE))
+ iface = scm_to_int(IFACE);
+ else if (scm_is_string(IFACE))
+ iface = sql_find_iface(scm_i_string_chars(IFACE));
else {
SCM_ASSERT(IFACE == SCM_BOOL_T || IFACE == SCM_BOOL_F,
IFACE, SCM_ARG1, FUNC_NAME);
@@ -137,26 +136,25 @@ SCM_DEFINE (sql_connect, "sql-connect", 5, 1, 0,
if (iface < 0 || iface >= num_iface)
scm_misc_error(FUNC_NAME,
"Argument ~S (~S) out of range",
- SCM_LIST2(SCM_MAKINUM(1),
- IFACE));
+ scm_list_2(scm_from_int(1),
+ IFACE));
- SCM_ASSERT(SCM_STRINGP(HOST), HOST, SCM_ARG1, FUNC_NAME);
- hostname = SCM_ROCHARS(HOST);
+ SCM_ASSERT(scm_is_string(HOST), HOST, SCM_ARG1, FUNC_NAME);
+ hostname = scm_i_string_chars(HOST);
- SCM_ASSERT(SCM_IMP(PORT) && SCM_INUMP(PORT),
- PORT, SCM_ARG2, FUNC_NAME);
- port = SCM_INUM(PORT);
+ SCM_ASSERT(scm_is_number(PORT), PORT, SCM_ARG2, FUNC_NAME);
+ port = scm_to_int(PORT);
- SCM_ASSERT(SCM_STRINGP(DB), DB, SCM_ARG3, FUNC_NAME);
- dbname = SCM_ROCHARS(DB);
+ SCM_ASSERT(scm_is_string(DB), DB, SCM_ARG3, FUNC_NAME);
+ dbname = scm_i_string_chars(DB);
- SCM_ASSERT(SCM_STRINGP(USER), USER, SCM_ARG4, FUNC_NAME);
- user = SCM_ROCHARS(USER);
+ SCM_ASSERT(scm_is_string(USER), USER, SCM_ARG4, FUNC_NAME);
+ user = scm_i_string_chars(USER);
if (SCM_UNBNDP(PASS))
pass = NULL;
- else if (SCM_STRINGP(USER))
- pass = SCM_ROCHARS(PASS);
+ else if (scm_is_string(USER))
+ pass = scm_i_string_chars(PASS);
smob = sql_iftab[iface].connect(hostname, port,
dbname, user, pass,
@@ -192,12 +190,12 @@ SCM_DEFINE (sql_query, "sql-query", 2, 0, 0,
{
struct sql_connect *conn;
void *ptr;
- char *query;
+ const char *query;
SCM_ASSERT(scm_is_sql_connect(CONN), CONN, SCM_ARG1, FUNC_NAME);
- SCM_ASSERT(SCM_STRINGP(QUERY), QUERY, SCM_ARG2, FUNC_NAME);
+ SCM_ASSERT(scm_is_string(QUERY), QUERY, SCM_ARG2, FUNC_NAME);
conn = (struct sql_connect *)SCM_CDR(CONN);
- query = SCM_ROCHARS(QUERY);
+ query = scm_i_string_chars(QUERY);
return sql_iftab[conn->iface].query(conn, query);
}
#undef FUNC_NAME
@@ -220,11 +218,13 @@ sql_register_iface(struct sql_iface *ifp)
void
gsql_conn_init()
{
- sql_connect_tag = scm_make_smob_type ("sql_connect",
+ if (sql_connect_tag == -1) {
+ sql_connect_tag = scm_make_smob_type ("sql_connect",
sizeof (struct sql_connect));
- scm_set_smob_mark (sql_connect_tag, sql_connect_mark);
- scm_set_smob_free (sql_connect_tag, sql_connect_free);
- scm_set_smob_print (sql_connect_tag, sql_connect_print);
+ scm_set_smob_mark (sql_connect_tag, sql_connect_mark);
+ scm_set_smob_free (sql_connect_tag, sql_connect_free);
+ scm_set_smob_print (sql_connect_tag, sql_connect_print);
+ }
#ifndef SCM_MAGIC_SNARFER
# include <gsql_conn.x>
#endif
diff --git a/src/gsql_lib.c b/src/gsql_lib.c
index c988b2e..a6103b2 100644
--- a/src/gsql_lib.c
+++ b/src/gsql_lib.c
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
Copyright (C) 2002 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -26,7 +25,7 @@ scm_makenum (unsigned long val)
#ifndef HAVE_SCM_LONG2NUM
{
if (SCM_FIXABLE ((long) val))
- return SCM_MAKINUM (val);
+ return scm_from_int (val);
#ifdef SCM_BIGDIG
return scm_i_long2big (val);
@@ -40,20 +39,6 @@ scm_makenum (unsigned long val)
}
#endif
-/*
- * Chop off trailing whitespace. Return length of the resulting string
- */
-int
-chop(char *str)
-{
- int len;
-
- for (len = strlen(str); len > 0 && isspace(str[len-1]); len--)
- ;
- str[len] = 0;
- return len;
-}
-
extern void
sql_init()
{
diff --git a/src/guile-sql.h b/src/guile-sql.h
index 5203123..154b322 100644
--- a/src/guile-sql.h
+++ b/src/guile-sql.h
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
- Copyright (C) 2002 Sergey Poznyakoff
+ Copyright (C) 2002, 2007 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/socket.h>
#include <netinet/in.h>
@@ -41,10 +40,11 @@ struct sql_iface {
char *name;
SCM (*mark) (struct sql_connect *);
scm_sizet (*free) (struct sql_connect *);
- SCM (*connect) (char *hostname, int port,
- char *dbname, char *user, char *pass, const char *why);
+ SCM (*connect) (const char *hostname, int port,
+ const char *dbname, const char *user,
+ const char *pass, const char *why);
void (*close) (struct sql_connect *);
- SCM (*query) (struct sql_connect *, char *query);
+ SCM (*query) (struct sql_connect *, const char *query);
};
extern struct sql_iface sql_iftab[];
diff --git a/src/mysql.c b/src/mysql.c
index d788a92..ac7e0f7 100644
--- a/src/mysql.c
+++ b/src/mysql.c
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
- Copyright (C) 2002,2004,2005 Sergey Poznyakoff
+ Copyright (C) 2002, 2004, 2005 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -22,13 +21,13 @@
#include <guile-sql.h>
#include <mysql/mysql.h>
-SCM
+static SCM
s_mysql_mark(struct sql_connect *conn)
{
return SCM_BOOL_F;
}
-scm_sizet
+static scm_sizet
s_mysql_free(struct sql_connect *conn)
{
MYSQL *mysql = (MYSQL*) conn->data;
@@ -38,14 +37,15 @@ s_mysql_free(struct sql_connect *conn)
return sizeof(MYSQL);
}
-SCM
-s_mysql_connect (char *hostname, int port,
- char *dbname, char *user, char *pass, const char *why)
+static SCM
+s_mysql_connect (const char *hostname, int port,
+ const char *dbname, const char *user, const char *pass,
+ const char *why)
{
MYSQL *mysql;
SCM smob;
struct sql_connect *conn;
- char *socket_path = NULL;
+ const char *socket_path = NULL;
mysql = mysql_init(NULL);
if (!mysql)
@@ -72,8 +72,8 @@ s_mysql_connect (char *hostname, int port,
return smob;
}
-SCM
-s_mysql_query(struct sql_connect *conn, char *query)
+static SCM
+s_mysql_query(struct sql_connect *conn, const char *query)
{
MYSQL *mysql = conn->data;
MYSQL_RES *result;
@@ -99,9 +99,8 @@ s_mysql_query(struct sql_connect *conn, char *query)
if (!row)
break;
for (j = 0; j < nfields; j++) {
- SCM new_elt;
- SCM_NEWCELL(new_elt);
- SCM_SETCAR(new_elt, scm_makfrom0str(row[j]));
+ SCM new_elt = scm_cons(scm_makfrom0str(row[j]),
+ SCM_EOL);
if (head == SCM_EOL)
head = new_elt;
else
@@ -109,20 +108,13 @@ s_mysql_query(struct sql_connect *conn, char *query)
tail = new_elt;
}
- if (head != SCM_EOL)
- SCM_SETCDR(tail, SCM_EOL);
-
- SCM_NEWCELL(new_row);
- SCM_SETCAR(new_row, head);
-
+ new_row = scm_cons(head, SCM_EOL);
if (row_head == SCM_EOL)
row_head = new_row;
else
SCM_SETCDR(row_tail, new_row);
row_tail = new_row;
}
- if (row_head != SCM_EOL)
- SCM_SETCDR(row_tail, SCM_EOL);
cell = row_head;
mysql_free_result(result);
} else { /* should it have returned something? */
@@ -137,7 +129,7 @@ s_mysql_query(struct sql_connect *conn, char *query)
return cell;
}
-void
+static void
s_mysql_close(struct sql_connect *conn)
{
if (conn->data)
diff --git a/src/pgsql.c b/src/pgsql.c
index 44b1fa6..011a4b7 100644
--- a/src/pgsql.c
+++ b/src/pgsql.c
@@ -1,19 +1,18 @@
/* This file is part of guile-sql.
Copyright (C) 2002 Sergey Poznyakoff
- This program 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 2 of the License, or
- (at your option) any later version.
+ This program 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 of the License, or (at your
+ option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
+ You should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -22,13 +21,13 @@
#include <guile-sql.h>
#include <libpq-fe.h>
-SCM
+static SCM
s_pgsql_mark(struct sql_connect *conn)
{
return SCM_BOOL_F;
}
-scm_sizet
+static scm_sizet
s_pgsql_free(struct sql_connect *conn)
{
PGconn *pgconn = (PGconn*) conn->data;
@@ -38,9 +37,10 @@ s_pgsql_free(struct sql_connect *conn)
return sizeof(pgconn);
}
-SCM
-s_pgsql_connect (char *hostname, int port,
- char *dbname, char *user, char *pass, const char *why)
+static SCM
+s_pgsql_connect (const char *hostname, int port,
+ const char *dbname, const char *user, const char *pass,
+ const char *why)
{
PGconn *pgconn;
char buf[24];
@@ -62,7 +62,7 @@ s_pgsql_connect (char *hostname, int port,
return smob;
}
-SCM
+static SCM
result_to_list(PGresult *res)
{
int i, j;
@@ -75,10 +75,8 @@ result_to_list(PGresult *res)
SCM head = SCM_EOL, tail;
for (j = 0; j < nfields; j++) {
- SCM new_elt;
char *val = PQgetvalue(res, i, j);
- SCM_NEWCELL(new_elt);
- SCM_SETCAR(new_elt, scm_makfrom0str(val));
+ SCM new_elt = scm_cons(scm_makfrom0str(val), SCM_EOL);
if (head == SCM_EOL)
head = new_elt;
else
@@ -86,11 +84,7 @@ result_to_list(PGresult *res)
tail = new_elt;
}
- if (head != SCM_EOL)
- SCM_SETCDR(tail, SCM_EOL);
-
- SCM_NEWCELL(new_row);
- SCM_SETCAR(new_row, head);
+ new_row = scm_cons(head, SCM_EOL);
if (row_head == SCM_EOL)
row_head = new_row;
@@ -98,13 +92,11 @@ result_to_list(PGresult *res)
SCM_SETCDR(row_tail, new_row);
row_tail = new_row;
}
- if (row_head != SCM_EOL)
- SCM_SETCDR(row_tail, SCM_EOL);
return row_head;
}
-SCM
-s_pgsql_query(struct sql_connect *conn, char *query)
+static SCM
+s_pgsql_query(struct sql_connect *conn, const char *query)
{
PGconn *pgconn = (PGconn*) conn->data;
PGresult *res;
@@ -137,7 +129,7 @@ s_pgsql_query(struct sql_connect *conn, char *query)
return cell;
}
-void
+static void
s_pgsql_close(struct sql_connect *conn)
{
PGconn *pgconn = (PGconn*) conn->data;

Return to:

Send suggestions and report system problems to the System administrator.