On Wed, 2003-04-09 at 00:54, Stephan Möck wrote: > I'm using DB3 to store file informationen. The key is the directory name and > the value is the inode number. At runtime I recieve the following error > message frome the database. Can anybody help me with this problem? > > key: /test value: 16791 > DB->put: DB_KEYEXIST: Key/data pair already exists //should be /test/file > DB->put: DB_KEYEXIST: Key/data pair already exists //should be > /test/textfile > DB->put: DB_KEYEXIST: Key/data pair already exists // ... > DB->put: DB_KEYEXIST: Key/data pair already exists > DB->put: DB_KEYEXIST: Key/data pair already exists > DB->put: DB_KEYEXIST: Key/data pair already exists > > > void add_database(char *sub) > { > memset(&key, 0, sizeof(key)); > memset(&data, 0, sizeof(data)); > > key.data = sub; > key.size = sizeof(sub); > data.data = statbuf.st_ino; //inode number from the stat() call > key.size = sizeof(statbuf.st_ino); ^^^^^^^^ Shouldnt this be data.size? Andy > > if ((ret = dbp1->put(dbp1, NULL, &key, &data, DB_NOOVERWRITE)) == 0) > { > printf("key: %s value: %d\n", (char *)key.data,data.data); > } > else > { > dbp1->err(dbp1, ret, "DB->put"); > } > }Received on Tue Apr 08 2003 - 14:00:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:03 UTC