#include <time.h>
#include <unistd.h>\r
#include <sys/types.h>\r
+#include <sys/stat.h>\r
#include <linux/limits.h>\r
#include <ventoy_define.h>
#include <ventoy_util.h>\r
return ret;\r
}\r
\r
+static int adjust_cur_dir(char *argv0)\r
+{\r
+ int ret = 2;\r
+ char c;\r
+ char *pos = NULL;\r
+ char *end = NULL;\r
+\r
+ if (argv0[0] == '.')\r
+ {\r
+ return 1;\r
+ }\r
+\r
+ for (pos = argv0; pos && *pos; pos++)\r
+ {\r
+ if (*pos == '/')\r
+ {\r
+ end = pos;\r
+ }\r
+ }\r
+\r
+ if (end)\r
+ {\r
+ c = *end;\r
+ *end = 0;\r
+\r
+ pos = strstr(argv0, "/tool/");\r
+ if (pos)\r
+ {\r
+ *pos = 0;\r
+ }\r
+ \r
+ ret = chdir(argv0);\r
+ \r
+ *end = c;\r
+ if (pos)\r
+ {\r
+ *pos = '/';\r
+ }\r
+ }\r
+\r
+ return ret;\r
+}\r
+\r
int main(int argc, char *argv[])\r
{\r
int i;\r
GtkWidget *pWidget = NULL;\r
GtkBuilder *pBuilder = NULL;\r
GError *error = NULL;\r
+ struct stat logstat;\r
\r
gtk_init(&argc, &argv);\r
\r
return EACCES;\r
}\r
\r
+ if (access("./boot/boot.img", F_OK) == -1)\r
+ {\r
+ adjust_cur_dir(argv[0]); \r
+ }\r
+\r
if (access("./boot/boot.img", F_OK) == -1)\r
{\r
early_msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Please run under the correct directory.");\r
}
}\r
\r
+ memset(&logstat, 0, sizeof(logstat));\r
+ if (0 == stat(g_log_file, &logstat))\r
+ {\r
+ if (logstat.st_size >= 4 * SIZE_1MB)\r
+ {\r
+ remove(g_log_file);\r
+ }\r
+ }\r
+\r
ventoy_log_init();\r
\r
vlog("================================================\n");\r
vlog("===== Ventoy2Disk %s powered by GTK%d.x =====\n", ventoy_get_local_version(), GTK_MAJOR_VERSION);\r
vlog("================================================\n");\r
+ vlog("log file is <%s> lastsize:%lld\n", g_log_file, (long long)logstat.st_size);\r
+ vlog("ini file is <%s>\n", g_ini_file);\r
\r
ventoy_disk_init();\r