diff options
author | James Booth <boothj5@gmail.com> | 2012-07-22 20:53:55 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2012-07-22 20:53:55 +0100 |
commit | 83ef1d562c0c8fa4148193c46bbc7f519c80badc (patch) | |
tree | e3b01702d4175e648ec3f1d3098d087a6cc464a9 /src | |
parent | 255bf5d5b14498e3a6452cd2670b42155e22b6c8 (diff) | |
download | profani-tty-83ef1d562c0c8fa4148193c46bbc7f519c80badc.tar.gz |
Added simple chat log
Diffstat (limited to 'src')
-rw-r--r-- | src/chat_log.c | 51 | ||||
-rw-r--r-- | src/chat_log.h | 32 | ||||
-rw-r--r-- | src/jabber.c | 5 | ||||
-rw-r--r-- | src/profanity.c | 3 |
4 files changed, 91 insertions, 0 deletions
diff --git a/src/chat_log.c b/src/chat_log.c new file mode 100644 index 00000000..3e685a96 --- /dev/null +++ b/src/chat_log.c @@ -0,0 +1,51 @@ +/* + * chat_log.c + * + * Copyright (C) 2012 James Booth <boothj5@gmail.com> + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#include <stdio.h> +#include <stdlib.h> + +#include "glib.h" + +#include "log.h" +#include "common.h" + +static FILE *chatlog; + +void chat_log_chat(const char * const user, const char * const msg) +{ + fprintf(chatlog, "%s: %s\n", user, msg); +} + +void chat_log_init(void) +{ + GString *log_file = g_string_new(getenv("HOME")); + g_string_append(log_file, "/.profanity/log"); + create_dir(log_file->str); + g_string_append(log_file, "/chat.log"); + logp = fopen(log_file->str, "a"); + g_string_free(log_file, TRUE); +} + +void chat_log_close(void) +{ + fclose(chatlog); +} diff --git a/src/chat_log.h b/src/chat_log.h new file mode 100644 index 00000000..abcd00d1 --- /dev/null +++ b/src/chat_log.h @@ -0,0 +1,32 @@ +/* + * chat_log.h + * + * Copyright (C) 2012 James Booth <boothj5@gmail.com> + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef CHAT_LOG_H +#define CHAT_LOG_H + +#include <stdio.h> + +void chat_log_init(void); +void chat_log_chat(const char * const user, const char * const msg); +void chat_log_close(void); + +#endif diff --git a/src/jabber.c b/src/jabber.c index 7d35f023..d9d3827c 100644 --- a/src/jabber.c +++ b/src/jabber.c @@ -27,6 +27,7 @@ #include "jabber.h" #include "common.h" #include "log.h" +#include "chat_log.h" #include "contact_list.h" #include "ui.h" #include "util.h" @@ -165,6 +166,8 @@ void jabber_send(const char * const msg, const char * const recipient) free(coded_msg); free(coded_msg2); free(coded_msg3); + + chat_log_chat("me", msg); } void jabber_roster_request(void) @@ -250,6 +253,8 @@ static int _jabber_message_handler(xmpp_conn_t * const conn, win_show_incomming_msg(from, message); win_page_off(); + chat_log_chat(from, message); + return 1; } diff --git a/src/profanity.c b/src/profanity.c index 499a9b04..f8ad400b 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -28,6 +28,7 @@ #include "profanity.h" #include "log.h" +#include "chat_log.h" #include "ui.h" #include "jabber.h" #include "command.h" @@ -69,6 +70,7 @@ void profanity_init(const int disable_tls) { create_config_directory(); log_init(); + chat_log_init(); prefs_load(); gui_init(); jabber_init(disable_tls); @@ -82,4 +84,5 @@ void _profanity_shutdown(void) jabber_disconnect(); gui_close(); log_close(); + chat_log_close(); } |