--- a/libpurple/plugins/filectl.c Fri Feb 15 01:19:26 2019 -0500
+++ b/libpurple/plugins/filectl.c Thu Feb 21 23:13:34 2019 -0500
@@ -40,12 +40,12 @@
- char filename[MAXPATHLEN];
char *command, *arg1, *arg2;
- snprintf(filename, MAXPATHLEN, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir());
+ filename = g_build_filename(purple_config_dir(), "control", NULL); file = g_fopen(filename, "r+");
while (fgets(buffer, sizeof(buffer), file)) {
@@ -110,9 +110,10 @@
- if (g_stat(filename, &finfo) != 0)
- mtime = finfo.st_mtime;
+ if (g_stat(filename, &finfo) == 0) + mtime = finfo.st_mtime; @@ -123,12 +124,14 @@
/* most of this was taken from Bash v2.04 by the FSF */
- char filename[MAXPATHLEN];
- snprintf(filename, MAXPATHLEN, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir());
+ filename = g_build_filename(purple_config_dir(), "control", NULL); if ((g_stat(filename, &finfo) == 0) && (finfo.st_size > 0))
@@ -139,9 +142,9 @@
/* most of this was taken from Bash v2.04 by the FSF */
- char filename[MAXPATHLEN];
- snprintf(filename, MAXPATHLEN, "%s" G_DIR_SEPARATOR_S "control", purple_user_dir());
+ filename = g_build_filename(purple_config_dir(), "control", NULL); if ((g_stat(filename, &finfo) == 0) && (finfo.st_size > 0))
@@ -151,6 +154,8 @@