This commit is contained in:
Ganlin Zhao 2023-08-25 10:15:52 +08:00
parent af130cc92f
commit c8c30e0a00
2 changed files with 4 additions and 8 deletions

View File

@ -83,7 +83,7 @@ void taosRemoveDir(const char *dirname);
bool taosDirExist(const char *dirname); bool taosDirExist(const char *dirname);
int32_t taosMkDir(const char *dirname); int32_t taosMkDir(const char *dirname);
int32_t taosMulMkDir(const char *dirname); int32_t taosMulMkDir(const char *dirname);
int32_t taosMulModeMkDir(const char *dirname, int mode, bool createLogFile); int32_t taosMulModeMkDir(const char *dirname, int mode, bool checkAccess);
void taosRemoveOldFiles(const char *dirname, int32_t keepDays); void taosRemoveOldFiles(const char *dirname, int32_t keepDays);
int32_t taosExpandDir(const char *dirname, char *outname, int32_t maxlen); int32_t taosExpandDir(const char *dirname, char *outname, int32_t maxlen);
int32_t taosRealPath(char *dirname, char *realPath, int32_t maxlen); int32_t taosRealPath(char *dirname, char *realPath, int32_t maxlen);

View File

@ -193,7 +193,7 @@ int32_t taosMulMkDir(const char *dirname) {
return code; return code;
} }
int32_t taosMulModeMkDir(const char *dirname, int mode, bool createLogFile) { int32_t taosMulModeMkDir(const char *dirname, int mode, bool checkAccess) {
if (dirname == NULL || strlen(dirname) >= TDDIRMAXLEN) return -1; if (dirname == NULL || strlen(dirname) >= TDDIRMAXLEN) return -1;
char temp[TDDIRMAXLEN]; char temp[TDDIRMAXLEN];
char *pos = temp; char *pos = temp;
@ -206,14 +206,10 @@ int32_t taosMulModeMkDir(const char *dirname, int mode, bool createLogFile) {
#endif #endif
if (taosDirExist(temp)) { if (taosDirExist(temp)) {
if (createLogFile) { if (checkAccess && taosCheckAccessFile(temp, TD_FILE_ACCESS_EXIST_OK | TD_FILE_ACCESS_READ_OK | TD_FILE_ACCESS_WRITE_OK)) {
if (!taosCheckAccessFile(temp, TD_FILE_ACCESS_EXIST_OK | TD_FILE_ACCESS_READ_OK | TD_FILE_ACCESS_WRITE_OK)) {
code = -1;
}
return code; return code;
} else {
return chmod(temp, mode);
} }
return chmod(temp, mode);
} }
if (strncmp(temp, TD_DIRSEP, 1) == 0) { if (strncmp(temp, TD_DIRSEP, 1) == 0) {