提交 596c1933 编写于 作者: H Hongze Cheng

more

上级 4be337db
...@@ -17,6 +17,7 @@ ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -68,6 +68,7 @@ int tdbPCacheOpen(int pageSize, int cacheSize, int extraSize, SPCache **ppCache)
return -1; return -1;
} }
*ppCache = pCache;
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册