void vm_sys_info_get_program_path(vm_char *program_path) { vm_char tmp[_MAX_LEN] = {0,}; Ipp32s i = 0; /* check error(s) */ if (NULL == program_path) return; GetModuleFileName(NULL, tmp, _MAX_LEN); i = (Ipp32s) (vm_string_strrchr(tmp, (vm_char)('\\')) - tmp + 1); vm_string_strncpy(program_path, tmp, i - 1); }
void vm_sys_info_get_program_name(vm_char *program_name) { /* check error(s) */ if (NULL == program_name) return; vm_char path[PATH_MAX] = {0,}; size_t i = 0; if(readlink("/proc/self/exe", path, sizeof(path)) == -1) { // Add error handling } i = vm_string_strrchr(path, (vm_char)('/')) - path + 1; vm_string_strncpy_s(program_name, PATH_MAX, path + i, vm_string_strnlen_s(path, PATH_MAX) - i); } /* void vm_sys_info_get_program_name(vm_char *program_name) */
void vm_sys_info_get_program_path(vm_char *program_path) { vm_char path[ PATH_MAX ] = {0,}; size_t i = 0; /* check error(s) */ if (NULL == program_path) return; if (readlink("/proc/self/exe", path, sizeof(path)) == -1) { // Add error handling } i = vm_string_strrchr(path, (vm_char)('/')) - path + 1; vm_string_strncpy_s(program_path, PATH_MAX, path, i-1); program_path[i - 1] = 0; } /* void vm_sys_info_get_program_path(vm_char *program_path) */