more
This commit is contained in:
parent
4be337db73
commit
596c193376
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
struct STEnv {
|
struct STEnv {
|
||||||
char * rootDir;
|
char * rootDir;
|
||||||
|
char * jfname;
|
||||||
int jfd;
|
int jfd;
|
||||||
SPCache *pCache;
|
SPCache *pCache;
|
||||||
};
|
};
|
||||||
|
@ -31,7 +32,7 @@ int tdbEnvOpen(const char *rootDir, int pageSize, int cacheSize, STEnv **ppEnv)
|
||||||
*ppEnv = NULL;
|
*ppEnv = NULL;
|
||||||
|
|
||||||
dsize = strlen(rootDir);
|
dsize = strlen(rootDir);
|
||||||
zsize = sizeof(*pEnv) + dsize + 1;
|
zsize = sizeof(*pEnv) + dsize * 2 + strlen(TDB_JOURNAL_NAME) + 3;
|
||||||
|
|
||||||
pPtr = (uint8_t *)calloc(1, zsize);
|
pPtr = (uint8_t *)calloc(1, zsize);
|
||||||
if (pPtr == NULL) {
|
if (pPtr == NULL) {
|
||||||
|
@ -40,9 +41,17 @@ int tdbEnvOpen(const char *rootDir, int pageSize, int cacheSize, STEnv **ppEnv)
|
||||||
|
|
||||||
pEnv = (STEnv *)pPtr;
|
pEnv = (STEnv *)pPtr;
|
||||||
pPtr += sizeof(*pEnv);
|
pPtr += sizeof(*pEnv);
|
||||||
|
// pEnv->rootDir
|
||||||
pEnv->rootDir = pPtr;
|
pEnv->rootDir = pPtr;
|
||||||
memcpy(pEnv->rootDir, rootDir, dsize);
|
memcpy(pEnv->rootDir, rootDir, dsize);
|
||||||
pEnv->rootDir[dsize] = '\0';
|
pEnv->rootDir[dsize] = '\0';
|
||||||
|
pPtr = pPtr + dsize + 1;
|
||||||
|
// pEnv->jfname
|
||||||
|
pEnv->jfname = pPtr;
|
||||||
|
memcpy(pEnv->jfname, rootDir, dsize);
|
||||||
|
pEnv->jfname[dsize] = '/';
|
||||||
|
memcpy(pEnv->jfname + dsize + 1, TDB_JOURNAL_NAME, strlen(TDB_JOURNAL_NAME));
|
||||||
|
pEnv->jfname[dsize + 1 + strlen(TDB_JOURNAL_NAME)] = '\0';
|
||||||
|
|
||||||
pEnv->jfd = -1;
|
pEnv->jfd = -1;
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ int tdbPCacheOpen(int pageSize, int cacheSize, int extraSize, SPCache **ppCache)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*ppCache = pCache;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue