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 | |
| 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
| -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);     } | 
