mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-02-04 18:36:04 -05:00
Fix the log/ini owner for VentoyGUI in linux.
This commit is contained in:
parent
8180382fe1
commit
858eec99a1
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -303,6 +303,58 @@ static int read_pid_cmdline(long pid, char *Buffer, int BufLen)
|
|||||||
return read_file_1st_line(path, Buffer, BufLen);
|
return read_file_1st_line(path, Buffer, BufLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int is_dir_exist(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list arg;
|
||||||
|
struct stat st;
|
||||||
|
char path[4096];
|
||||||
|
|
||||||
|
va_start(arg, fmt);
|
||||||
|
vsnprintf(path, sizeof(path), fmt, arg);
|
||||||
|
va_end(arg);
|
||||||
|
|
||||||
|
memset(&st, 0, sizeof(st));
|
||||||
|
if (stat(path, &st) < 0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (st.st_mode & S_IFDIR)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void touch_new_file(char *filename)
|
||||||
|
{
|
||||||
|
char *pos = NULL;
|
||||||
|
FILE *fp = NULL;
|
||||||
|
|
||||||
|
if (access(filename, F_OK) == -1)
|
||||||
|
{
|
||||||
|
for (pos = filename; *pos; pos++)
|
||||||
|
{
|
||||||
|
if (*pos == '/')
|
||||||
|
{
|
||||||
|
*pos = 0;
|
||||||
|
if (!is_dir_exist("%s", filename))
|
||||||
|
{
|
||||||
|
mkdir(filename, 0755);
|
||||||
|
}
|
||||||
|
*pos = '/';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fp = fopen(filename, "w+");
|
||||||
|
if (fp)
|
||||||
|
{
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int find_exe_path(const char *exe, char *pathbuf, int buflen)
|
static int find_exe_path(const char *exe, char *pathbuf, int buflen)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -1250,8 +1302,12 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
if (argv[i] && argv[i + 1] && strcmp(argv[i], "-l") == 0)
|
||||||
{
|
{
|
||||||
|
touch_new_file(argv[i + 1]);
|
||||||
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
snprintf(g_log_file, sizeof(g_log_file), "%s", argv[i + 1]);
|
||||||
break;
|
}
|
||||||
|
else if (argv[i] && argv[i + 1] && strcmp(argv[i], "-i") == 0)
|
||||||
|
{
|
||||||
|
touch_new_file(argv[i + 1]);
|
||||||
}
|
}
|
||||||
else if (argv[i] && strcmp(argv[i], "--xdg") == 0)
|
else if (argv[i] && strcmp(argv[i], "--xdg") == 0)
|
||||||
{
|
{
|
||||||
@ -1260,6 +1316,7 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
g_xdg_log = 1;
|
g_xdg_log = 1;
|
||||||
snprintf(g_log_file, sizeof(g_log_file), "%s/ventoy.log", env);
|
snprintf(g_log_file, sizeof(g_log_file), "%s/ventoy.log", env);
|
||||||
|
touch_new_file(g_log_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
env = getenv("XDG_CONFIG_HOME");
|
env = getenv("XDG_CONFIG_HOME");
|
||||||
@ -1267,6 +1324,7 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
g_xdg_ini = 1;
|
g_xdg_ini = 1;
|
||||||
snprintf(g_ini_file, sizeof(g_ini_file), "%s/Ventoy2Disk.ini", env);
|
snprintf(g_ini_file, sizeof(g_ini_file), "%s/Ventoy2Disk.ini", env);
|
||||||
|
touch_new_file(g_ini_file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user