|
@@ -363,6 +363,24 @@ std::vector<std::string> OSUtils::split(const char *s,const char *const sep,cons
|
|
|
|
|
|
std::string OSUtils::platformDefaultHomePath()
|
|
std::string OSUtils::platformDefaultHomePath()
|
|
{
|
|
{
|
|
|
|
+#ifdef __QNAP__
|
|
|
|
+ char *cmd = "/sbin/getcfg ZeroTier Install_Path -f /etc/config/qpkg.conf";
|
|
|
|
+ char buf[128];
|
|
|
|
+ FILE *fp;
|
|
|
|
+ if ((fp = popen(cmd, "r")) == NULL) {
|
|
|
|
+ printf("Error opening pipe!\n");
|
|
|
|
+ return NULL;
|
|
|
|
+ }
|
|
|
|
+ while (fgets(buf, 128, fp) != NULL) { }
|
|
|
|
+ if(pclose(fp)) {
|
|
|
|
+ printf("Command not found or exited with error status\n");
|
|
|
|
+ return NULL;
|
|
|
|
+ }
|
|
|
|
+ std::string homeDir = std::string(buf);
|
|
|
|
+ homeDir.erase(std::remove(homeDir.begin(), homeDir.end(), '\n'), homeDir.end());
|
|
|
|
+ return homeDir;
|
|
|
|
+#endif
|
|
|
|
+
|
|
#ifdef __UNIX_LIKE__
|
|
#ifdef __UNIX_LIKE__
|
|
|
|
|
|
#ifdef __APPLE__
|
|
#ifdef __APPLE__
|