Date: Fri, 14 Aug 1998 15:40:15 -0700 (PDT) From: Tom <tom@sdf.com> To: animal <animal@skylink.net> Cc: freebsd-database@FreeBSD.ORG Subject: Re: .dir .pag .db Message-ID: <Pine.BSF.3.95q.980814153805.9258A-100000@misery.sdf.com> In-Reply-To: <Pine.BSF.3.95q.980814140621.18381E-100000@shell.skylink.net>
index | next in thread | previous in thread | raw e-mail
On Fri, 14 Aug 1998, animal wrote:
>
> I am for one haveing a hard time even getiing any documentation on all of
> these....
>
> When i create a database with perl it makes a .db.....
>
> but i am trying to compile a c prog that will add keys to a data base...
>
> can you tell me what i am doing wrong....
>
> I use this to create the database......
>
> #include <stdio.h>
> #include <fcntl.h>
> #include <ndbm.h>
>
> main() {
>
> DBM *db;
>
> db = dbm_open("/usr/local/radius/users",O_CREAT,0000664);
>
> dbm_close(db);
> }
>
>
>
> and then i am trying to add data to it by..........
>
> #include <stdio.h>
> #include <fcntl.h>
> #include <ndbm.h>
>
>
> main() {
>
> DBM *db
> datum kename,whatto;
>
> db = dbm_open("/usr/local/radius/users",O_WRONLY,0000664);
>
> kename.dptr = "animal";
> kename.dsize = strlen(kename.dptr)+1;
>
> whatto.dptr = "Data to be stored in database";
> kename.dsize = strlen(whatto.dptr)+1;
This is a bit of problem. You are setting kename.dsize twice, and the
second time to the length of whatto.dptr, so dbm_store will read beyond
the end of kename.dptr.
> if (dbm_store(db,kename,whatto,DBM_INSERT) < 0) {
> printf("Insert messed up");
> }
>
> dbm_close(db);
> }
Tom
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-database" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.980814153805.9258A-100000>
