This commit is contained in:
Your Name 2025-06-23 21:32:59 +00:00
parent 8d3ad289dd
commit 613d371a58

23
main.c
View file

@ -14,7 +14,7 @@
#endif #endif
#define bool char #define bool char
#define VERSION "2.0" #define VERSION "2.0.1"
typedef struct { typedef struct {
char *dir; char *dir;
@ -62,7 +62,13 @@ char *GetFilename(void) {
die("%s: localtime(): %s\n", prog_name, strerror(errno)); die("%s: localtime(): %s\n", prog_name, strerror(errno));
static char filename[PATH_MAX + 1]; static char filename[PATH_MAX + 1];
snprintf(filename, PATH_MAX, "%s_%d-%d-%d%s", ircbot.irc_channel, tm->tm_mday, tm->tm_mon, 1900 + tm->tm_year, cfg.ext); snprintf(filename, PATH_MAX, "%s_%d-%d-%d%s",
ircbot.irc_channel,
tm->tm_mday,
tm->tm_mon,
1900 + tm->tm_year,
cfg.ext);
return filename; return filename;
} }
@ -79,7 +85,6 @@ void WriteToFile(void) {
} }
fprintf(fp, cfg.fmt, ircbot.irc_nick, ircbot.irc_msg); fprintf(fp, cfg.fmt, ircbot.irc_nick, ircbot.irc_msg);
fputs("\n", fp);
fclose(fp); fclose(fp);
} }
@ -173,7 +178,7 @@ int main(int argc, char **argv) {
die("%s: chdir(): %s\n", prog_name, strerror(errno)); die("%s: chdir(): %s\n", prog_name, strerror(errno));
int status = IRCC_connect(&ircbot, cfg.host, cfg.port); int status = IRCC_connect(&ircbot, cfg.host, cfg.port);
if (status == IRCC_ERROR) if (status < 0)
die("%s: connect(): %s\n", prog_name, strerror(errno)); die("%s: connect(): %s\n", prog_name, strerror(errno));
if (cfg.usessl) { if (cfg.usessl) {
@ -184,7 +189,7 @@ int main(int argc, char **argv) {
} }
/* Register and skip MOTD */ /* Register and skip MOTD */
if (IRCC_register(&ircbot, cfg.nick) == IRCC_DISCONNECTED) if (IRCC_register(&ircbot, cfg.nick) < 0)
die("%s: irc register: %s\n", prog_name, strerror(errno)); die("%s: irc register: %s\n", prog_name, strerror(errno));
sleep(5); sleep(5);
@ -206,14 +211,14 @@ int main(int argc, char **argv) {
/* Logging */ /* Logging */
while (1) { while (1) {
int irc_status = IRCC_recv(&ircbot); int irc_status = IRCC_recv(&ircbot);
if (irc_status == IRCC_DISCONNECTED) if (irc_status < 0)
die("%s: irc recv: %s\n", prog_name, strerror(errno)); die("%s: irc recv: %s\n", prog_name, strerror(errno));
if (cfg.debug)
printf("\033[32m%s\033[0m", ircbot.irc_raw);
irc_status = IRCC_parse(&ircbot); irc_status = IRCC_parse(&ircbot);
if (ircbot.irc_nick != NULL && ircbot.irc_channel != NULL && ircbot.irc_msg != NULL && irc_status == IRCC_PRIVMSG) if (ircbot.irc_nick != NULL && ircbot.irc_channel != NULL && ircbot.irc_msg != NULL && irc_status == IRCC_PRIVMSG)
WriteToFile(); WriteToFile();
if (cfg.debug)
printf("\033[32m%s\033[0m", ircbot.irc_raw);
} }
} }