From: Roman Bogorodskiy <bogorodskiy@inbox.ru>
To: pgsql-interfaces@postgresql.org
Subject: troubles with getting data from tables
Date: Tue, 23 Sep 2003 20:17:50 +0400
Message-ID: <20030923201750.7cacf851.bogorodskiy@inbox.ru> (raw)
pgsql-interfaces@
I'm writing a backend for some ftp demon on C. I want to make it possible
to authorize server's clients via pgsql. And I have a such problem:
I have a function FCN_VALIDATE_LOGIN which checks if a given users name is ok.
It's looks like this (I've removed some debug code) :
---cut 8<---
int
FCN_VALIDATE_LOGIN (const char *login)
{
PGresult *res;
char *query;
query = malloc(256);
sprintf(query, "SELECT * FROM users WHERE name=\'%s\';", login);
res = PQexec(conn, query);
if (!res || PQresultStatus(res) != PGRES_TUPLES_OK) {
fprintf(stderr, "%s\n", PQresultErrorMessage(conn));
printf("Error\n");
}
if (PQntuples(res) == 1) {
int uid_field_index;
unsigned int *uid;
uid_field_index = PQfnumber(res, "uid");
uid = (int *) PQgetvalue(res, 0, uid_field_index);
#ifdef DEBUG
fprintf(stderr, "uid_field_index = %i\n uid %i\n", uid_field_index, uid);
#endif
// return uid;
} else { // Not such user
return -1;
}
PQclear(res);
}
---cut 8<---
And I have a such table:
---cut 8<---
CREATE TABLE users (
name character varying NOT NULL,
passwd character varying,
home character varying,
groups character varying NOT NULL,
rights character varying NOT NULL,
uid int4 NOT NULL,
ip_allowed character varying,
max_dl_speed integer,
bytes_ul_total bigint,
bytes_dl_total bigint,
ratio integer,
flags character varying,
user_slots integer,
leech_slots integer
);
---cut 8<---
I have only one row in this table where uid is '1001'.
wzdftpd=# select uid from users;
uid
------
1001
(1 row)
But instead of '1001' "uid" value is '134820376'. Where I was wrong?
-Roman Bogorodskiy [Novel]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: bogorodskiy@inbox.ru
Subject: Re: troubles with getting data from tables
In-Reply-To: <20030923201750.7cacf851.bogorodskiy@inbox.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox