diff options
author | cheapie <no-email-for-you@example.com> | 2016-02-22 14:21:22 -0500 |
---|---|---|
committer | cheapie <no-email-for-you@example.com> | 2016-02-22 14:21:22 -0500 |
commit | 71bf018c1a2188a2468936133f15a5bdc2900d30 (patch) | |
tree | cff17d64730ae8f5d3d75a75dae23faec175ba86 /sparkles.c | |
parent | 0df279ad8735176f7bb3ffbac1971cd5bdc6572a (diff) | |
download | sparkles-71bf018c1a2188a2468936133f15a5bdc2900d30.tar sparkles-71bf018c1a2188a2468936133f15a5bdc2900d30.tar.gz sparkles-71bf018c1a2188a2468936133f15a5bdc2900d30.tar.bz2 sparkles-71bf018c1a2188a2468936133f15a5bdc2900d30.tar.xz sparkles-71bf018c1a2188a2468936133f15a5bdc2900d30.zip |
Openlogs ensures the file exists
If the specified logs don't exist, Sparkles tries again with the network
and channel swapped, and if THAT doesn't work, it displays an error
Diffstat (limited to 'sparkles.c')
-rw-r--r-- | sparkles.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -2282,7 +2282,7 @@ static int Spark_cb(char *word[], char *word_eol[], void *userdata) { WasValid = 1; AsyncExec(word_eol[3]); } - if(!strcasecmp(word[2],"openlogs")) { + if(!strcasecmp(word[2],"openlogs") || !strcasecmp(word[2],"openlogs_")) { WasValid = 1; const char *Chan = xchat_get_info(ph, "channel"); const char *Network = xchat_get_info(ph, "network"); @@ -2300,6 +2300,20 @@ static int Spark_cb(char *word[], char *word_eol[], void *userdata) { sprintf(Buffer, "%s/logs/%s", xchat_get_info(ph, "xchatdirfs"), LogPath); else sprintf(Buffer, "%s/xchatlogs/%s", xchat_get_info(ph, "xchatdirfs"), LogPath); + + // does the file exist? + // if not, the user probably swapped the network and channel name, so try it the other way + FILE *Test = fopen(Buffer, "rb"); + if(!Test) { + if(!strcmp(word[2], "openlogs")) { // only swap if they aren't already swapped + xchat_commandf(ph, "spark openlogs_ %s %s", Network, Chan); + } else { + xchat_printf(ph, "No logs for %s:%s", Network, Chan); + } + return XCHAT_EAT_ALL; + } + fclose(Test); + xchat_commandf(ph,"spark aexec %s %s\n", TextEditor, Buffer); } |