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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.980814153805.9258A-100000>