static char __appId[_MAX_BUFFER_SIZE];
static char __uuid[_MAX_BUFFER_SIZE];
static char __name[_MAX_BUFFER_SIZE];
+static char __exeName[_MAX_BUFFER_SIZE];
static char __language[_MAX_LANGUAGE_BUFFER_SIZE];
#ifdef __cplusplus
memset(__appId, '\0', _MAX_BUFFER_SIZE);
memset(__uuid, '\0', _MAX_BUFFER_SIZE);
memset(__name, '\0', _MAX_BUFFER_SIZE);
+ memset(__exeName, '\0', _MAX_BUFFER_SIZE);
memset(__language, '\0', _MAX_LANGUAGE_BUFFER_SIZE);
char symbolicLinkPath[_MAX_BUFFER_SIZE];
// initialize ime info
InitImeInfo(__uuid, __name, __language);
+
+ // parse executable name
+ const char* pPath = strrchr(symbolicLinkPath, '/');
+ const char* pExtension = strstr(symbolicLinkPath, ".exe");
+ strncpy(__exeName, pPath + 1, pExtension - pPath - 1);
+ LOG(LOG_DEBUG, _LOG_TAG_IME, "%s {%d) > The executable name is %s.", __func__, __LINE__, __exeName);
}
bool _OSP_EXPORT_
char binaryPath[_MAX_BUFFER_SIZE];
memset(binaryPath, '\0', _MAX_BUFFER_SIZE);
- snprintf(binaryPath, _MAX_BUFFER_SIZE - 1, "/opt/apps/%s/bin/%s", __appId, __name);
+ snprintf(binaryPath, _MAX_BUFFER_SIZE - 1, "/opt/apps/%s/bin/%s", __appId, __exeName);
LOG(LOG_DEBUG, _LOG_TAG_IME, "%s {%d) > The binary path is %s.", __func__, __LINE__, binaryPath);
// set __pArgv
char packageName[_MAX_PACKAGE_NAME];
memset(packageName, '\0', _MAX_PACKAGE_NAME);
- GetPackageNameFromAppIdAppExecutableName(__appId, __name, packageName, _MAX_PACKAGE_NAME);
+ GetPackageNameFromAppIdAppExecutableName(__appId, __exeName, packageName, _MAX_PACKAGE_NAME);
AdjustPrivilege(packageName);
}
return;
}
- InitAppInfo(__appId, __name, __argc, __pArgv, fd);
+ InitAppInfo(__appId, __exeName, __argc, __pArgv, fd);
//
OspMain(__argc, __pArgv);