Changeset 14269 for gsdl/trunk/src/recpt/userdb.cpp
- Timestamp:
- 2007-07-24T16:20:41+12:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/src/recpt/userdb.cpp
r14013 r14269 77 77 userdbclass::userdbclass(const text_t &userdbfilename) 78 78 { 79 activated = (!userdb.opendatabase(userdbfilename, GDBM_WRCREAT, 1000, true)) ? false : true; 79 storeduserdbfilename = userdbfilename; 80 activated = (!userdb.opendatabase(storeduserdbfilename, GDBM_READER, 1000, true)) ? false : true; 81 if (activated == false) 82 { 83 activated = (!userdb.opendatabase(storeduserdbfilename, GDBM_WRCREAT, 1000, true)) ? false : true; 84 if (activated == true) 85 { 86 userdb.closedatabase(); 87 activated = (!userdb.opendatabase(storeduserdbfilename, GDBM_READER, 1000, true)) ? false : true; 88 } 89 } 90 80 91 external_db = false; 81 92 } … … 227 238 info["groups"] = userinfo.groups; 228 239 info["comment"] = userinfo.comment; 229 230 return (userdb.setinfo (username, info)) ? ERRNO_SUCCEED : ERRNO_GDBMACTIONFILED ; 240 userdb.closedatabase(); 241 userdb.opendatabase(storeduserdbfilename, GDBM_WRCREAT, 1000, true); 242 int result = (userdb.setinfo (username, info)) ? ERRNO_SUCCEED : ERRNO_GDBMACTIONFILED; 243 userdb.closedatabase(); 244 userdb.opendatabase(storeduserdbfilename, GDBM_READER, 1000, true); 245 return result; 231 246 } 232 247 return ERRNO_CONNECTIONFAILED; … … 290 305 if (activated == true) 291 306 { 307 userdb.closedatabase(); 308 userdb.opendatabase(storeduserdbfilename, GDBM_WRCREAT, 1000, true); 292 309 userdb.deletekey (username); 310 userdb.closedatabase(); 311 userdb.opendatabase(storeduserdbfilename, GDBM_READER, 1000, true); 293 312 return ERRNO_SUCCEED; 294 313 } … … 335 354 return ERRNO_CONNECTIONFAILED; 336 355 } 337 338 //an alernative way to colse the database if the class can't reach the destructor339 void userdbclass::closedatabase()340 {341 userdb.closedatabase();342 }343 344 356 //==========================================// 345 357 // userdbclass functions (End) // … … 351 363 keydbclass::keydbclass(const text_t &keydbfilename) 352 364 { 353 activated = (!keydb.opendatabase(keydbfilename, GDBM_WRCREAT, 1000, true)) ? false : true; 365 storedkeydbfilename = keydbfilename; 366 activated = (!keydb.opendatabase(storedkeydbfilename, GDBM_READER, 1000, true)) ? false : true; 367 if (activated == false) 368 { 369 activated = (!keydb.opendatabase(storedkeydbfilename, GDBM_WRCREAT, 1000, true)) ? false : true; 370 if (activated == true) 371 { 372 keydb.closedatabase(); 373 activated = (!keydb.opendatabase(storedkeydbfilename, GDBM_READER, 1000, true)) ? false : true; 374 } 375 } 354 376 external_db = false; 355 377 } … … 399 421 keydata["time"] = time2text(time(NULL)); 400 422 423 keydb.closedatabase(); 424 keydb.opendatabase(storedkeydbfilename, GDBM_WRCREAT, 1000, true); 401 425 if (!keydb.setinfo (crypt_userkey, keydata)) 402 426 { 403 427 userkey.clear(); // failed 404 428 } 429 keydb.closedatabase(); 430 keydb.opendatabase(storedkeydbfilename, GDBM_READER, 1000, true); 405 431 406 432 return userkey; … … 434 460 // succeeded, update the key's time 435 461 info["time"] = time2text(time(NULL)); 462 keydb.closedatabase(); 463 keydb.opendatabase(storedkeydbfilename, GDBM_WRCREAT, 1000, true); 436 464 keydb.setinfo (crypt_key, info); 465 keydb.closedatabase(); 466 keydb.opendatabase(storedkeydbfilename, GDBM_READER, 1000, true); 437 467 return true; 438 468 } … … 477 507 } 478 508 } 479 480 //an alernative way to colse the database if the class can't reach the destructor481 void keydbclass::closedatabase()482 {483 keydb.closedatabase();484 }485 509 //==========================================// 486 510 // keydbclass functions (End) //
Note:
See TracChangeset
for help on using the changeset viewer.