Subdomain Posts
C++ | 9 hours ago
C++ | 10 hours ago
C | 10 hours ago
C++ | 11 hours ago
C | 3 days ago
C | 5 days ago
C | 5 days ago
C | 5 days ago
SQL | 5 days ago
C | 6 days ago
Recent Posts
None | 4 sec ago
None | 22 sec ago
None | 38 sec ago
Ruby | 43 sec ago
None | 53 sec ago
None | 1 min ago
None | 1 min ago
C | 1 min ago
Java | 1 min ago
PHP | 1 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
By mfp on the 23rd of Jan 2010 12:31:38 AM
Download |
Raw |
Embed |
Report
/* Open a database file and connect a hash database object. */
bool tchdbopen(TCHDB *hdb, const char *path, int omode){
assert(hdb && path);
if(!HDBLOCKMETHOD(hdb, true)) return false;
if(hdb->fd >= 0){
tchdbsetecode(hdb, TCEINVALID, __FILE__, __LINE__, __func__);
HDBUNLOCKMETHOD(hdb);
return false;
}
char *rpath = tcrealpath(path);
if(!rpath){
int ecode = TCEOPEN;
switch(errno){
case EACCES: ecode = TCENOPERM; break;
case ENOENT: ecode = TCENOFILE; break;
case ENOTDIR: ecode = TCENOFILE; break;
}
tchdbsetecode(hdb, ecode, __FILE__, __LINE__, __func__);
HDBUNLOCKMETHOD(hdb);
return false;
}
if(!tcpathlock(rpath)){
tchdbsetecode(hdb, TCETHREAD, __FILE__, __LINE__, __func__);
TCFREE(rpath);
HDBUNLOCKMETHOD(hdb);
return false;
}
bool rv = tchdbopenimpl(hdb, path, omode);
if(rv){
hdb->rpath = rpath;
} else {
tcpathunlock(rpath);
TCFREE(rpath);
}
HDBUNLOCKMETHOD(hdb);
return rv;
}
Submit a correction or amendment below.
Make A New Post