From d4408d530f77414923afa61d9e71f218b9092b70 Mon Sep 17 00:00:00 2001
From: luoliangyi <87842688@qq.com>
Date: Tue, 5 Jul 2022 18:51:44 +0800
Subject: [PATCH] =?UTF-8?q?linux=E4=B8=8A=E5=AE=9E=E7=8E=B0=E4=BB=8E?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?cfg=E5=92=8Clog=E7=9B=AE=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build-qt/HGSolution/HGUpgrade/HGUpgrade.pro | 4 +--
build/linux/HGUpload/HGUpload.cbp | 2 ++
modules/base/HGUtility.cpp | 32 ++++++++++++++-------
sdk/upload/main.cpp | 2 +-
4 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/build-qt/HGSolution/HGUpgrade/HGUpgrade.pro b/build-qt/HGSolution/HGUpgrade/HGUpgrade.pro
index 3d33b963..af6b281a 100644
--- a/build-qt/HGSolution/HGUpgrade/HGUpgrade.pro
+++ b/build-qt/HGSolution/HGUpgrade/HGUpgrade.pro
@@ -168,7 +168,7 @@ SOURCES += \
../../../modules/base/HGMd5.cpp \
../../../modules/base/HGUtility.cpp \
../../../modules/base/HGThread.cpp \
- ../../../utility/HGString.cpp
+ ../../../utility/HGString.cpp \
HEADERS += \
../../../app/upgrade/HGUpgrade.h \
@@ -177,7 +177,7 @@ HEADERS += \
../../../modules/base/HGMd5.h \
../../../modules/base/HGUtility.h \
../../../modules/base/HGThread.h \
- ../../../utility/HGString.h
+ ../../../utility/HGString.h \
FORMS += \
../../../app/upgrade/mainwindow.ui
diff --git a/build/linux/HGUpload/HGUpload.cbp b/build/linux/HGUpload/HGUpload.cbp
index 93cedbd7..62c8a0b9 100644
--- a/build/linux/HGUpload/HGUpload.cbp
+++ b/build/linux/HGUpload/HGUpload.cbp
@@ -168,6 +168,8 @@
+
+
diff --git a/modules/base/HGUtility.cpp b/modules/base/HGUtility.cpp
index 4ebc1321..74425743 100644
--- a/modules/base/HGUtility.cpp
+++ b/modules/base/HGUtility.cpp
@@ -171,12 +171,24 @@ HGResult HGAPI HGBase_GetModuleName(HGPointer addr, HGChar* name, HGUInt maxLen)
}
#if !defined(HG_CMP_MSC)
- Dl_info dlinfo;
- if (0 == dladdr(addr, &dlinfo))
- return HGBASE_ERR_FAIL;
- if (maxLen < strlen(dlinfo.dli_fname) + 1)
- return HGBASE_ERR_FAIL;
- strcpy(name, dlinfo.dli_fname);
+ if (NULL == addr)
+ {
+ char dir[PATH_MAX] = {0};
+ if (0 == readlink("/proc/self/exe", dir, PATH_MAX))
+ return HGBASE_ERR_FAIL;
+ if (maxLen < strlen(dir) + 1)
+ return HGBASE_ERR_FAIL;
+ strcpy(name, dir);
+ }
+ else
+ {
+ Dl_info dlinfo;
+ if (0 == dladdr(addr, &dlinfo))
+ return HGBASE_ERR_FAIL;
+ if (maxLen < strlen(dlinfo.dli_fname) + 1)
+ return HGBASE_ERR_FAIL;
+ strcpy(name, dlinfo.dli_fname);
+ }
#else
HMODULE hModule = NULL;
GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
@@ -252,7 +264,7 @@ HGResult HGAPI HGBase_GetConfigPath(HGChar* configPath, HGUInt maxLen)
return HGBASE_ERR_INVALIDARG;
}
- HGChar moduleName[56];
+ HGChar moduleName[256];
HGBase_GetModuleName(NULL, moduleName, 256);
HGChar modulePath[256];
HGBase_GetFilePath(moduleName, modulePath, 256);
@@ -269,7 +281,7 @@ HGResult HGAPI HGBase_GetConfigPath(HGChar* configPath, HGUInt maxLen)
#else
if (dataPath[strlen(dataPath) - 1] != '/')
strcat(dataPath, "/");
- strcat(cfgPath, "Cfg/");
+ strcat(dataPath, "Cfg/");
#endif
if (maxLen < strlen(dataPath) + 1)
@@ -316,7 +328,7 @@ HGResult HGAPI HGBase_GetLogFilePath(HGChar* logFilePath, HGUInt maxLen)
return HGBASE_ERR_INVALIDARG;
}
- HGChar moduleName[56];
+ HGChar moduleName[256];
HGBase_GetModuleName(NULL, moduleName, 256);
HGChar modulePath[256];
HGBase_GetFilePath(moduleName, modulePath, 256);
@@ -333,7 +345,7 @@ HGResult HGAPI HGBase_GetLogFilePath(HGChar* logFilePath, HGUInt maxLen)
#else
if (dataPath[strlen(dataPath) - 1] != '/')
strcat(dataPath, "/");
- strcat(cfgPath, "Cfg/");
+ strcat(dataPath, "Cfg/");
#endif
if (maxLen < strlen(dataPath) + 1)
diff --git a/sdk/upload/main.cpp b/sdk/upload/main.cpp
index c34876e3..a9505e21 100644
--- a/sdk/upload/main.cpp
+++ b/sdk/upload/main.cpp
@@ -108,4 +108,4 @@ int cgiMain()
//´òÓ¡Êä³ö
fprintf(cgiOut, "
upload file success.
\n");
return cgiFormSuccess;
-}
\ No newline at end of file
+}