aboutsummaryrefslogtreecommitdiffstats
path: root/facebook
diff options
context:
space:
mode:
authorjgeboski <jgeboski@gmail.com>2016-03-29 21:59:32 -0400
committerjgeboski <jgeboski@gmail.com>2016-03-29 21:59:32 -0400
commita72b468cdbd3cc4a35ef1bbf16b3b3e064444254 (patch)
tree7752cc9ce358c6d9dffaab4f7af786cd3b62ce49 /facebook
parent69b90b5ec1349d9f4e5f921b54fc9950bdd7b084 (diff)
downloadbitlbee-facebook-a72b468cdbd3cc4a35ef1bbf16b3b3e064444254.tar.gz
bitlbee-facebook-a72b468cdbd3cc4a35ef1bbf16b3b3e064444254.tar.bz2
bitlbee-facebook-a72b468cdbd3cc4a35ef1bbf16b3b3e064444254.tar.xz
Consistency changes for 69b90b5
Diffstat (limited to 'facebook')
-rw-r--r--facebook/facebook-util.h32
-rw-r--r--facebook/facebook.c53
2 files changed, 44 insertions, 41 deletions
diff --git a/facebook/facebook-util.h b/facebook/facebook-util.h
index 75735e4..a595cf3 100644
--- a/facebook/facebook-util.h
+++ b/facebook/facebook-util.h
@@ -38,31 +38,31 @@
/**
* FB_UTIL_PTRBIT_GET:
- * @p: Pointer used to store flags.
- * @b: Bit to get from p.
+ * @p: The pointer.
+ * @b: The bit index.
*
- * Get bit b from pointer p.
+ * Gets a bit from the pointer.
*
- * Returns: Value of bit b in pointer p.
+ * Returns: The bit value.
*/
#define FB_UTIL_PTRBIT_GET(p, b) \
- (GPOINTER_TO_INT((p)) & (1 << (b)))
+ (GPOINTER_TO_INT(p) & (1 << (b)))
/**
* FB_UTIL_PTRBIT_SET:
- * @p: Pointer used to store flags.
- * @b: Bit to set in p.
- * @v: Set or clear bit b
+ * @p: The pointer.
+ * @b: The bit index.
+ * @v: The bit value.
*
- * Set bit b in pointer p based on value v
+ * Sets a bit in the pointer.
*/
-#define FB_UTIL_PTRBIT_SET(p, b, v) \
- G_STMT_START { \
- gint __tmp; \
- __tmp = GPOINTER_TO_INT((p)); \
- __tmp &= ~(1 << (b)); \
- __tmp |= ((v) << (b)); \
- (p) = GINT_TO_POINTER(__tmp); \
+#define FB_UTIL_PTRBIT_SET(p, b, v) \
+ G_STMT_START { \
+ gint __tmp; \
+ __tmp = GPOINTER_TO_INT(p); \
+ __tmp &= ~(1 << (b)); \
+ __tmp |= ((v) << (b)); \
+ (p) = GINT_TO_POINTER(__tmp); \
} G_STMT_END
/**
diff --git a/facebook/facebook.c b/facebook/facebook.c
index b165da8..8c16eb0 100644
--- a/facebook/facebook.c
+++ b/facebook/facebook.c
@@ -26,13 +26,6 @@
#define OPT_SELFMESSAGE 0
#endif
-/**
- * FbPtrBit
- * @FB_PTRBIT_NEW_BUDDY: bit to set if buddy was just addded
- * @FB_PTRBIT_UNREAD_MSG: bit to set if buddy has unread messages
- *
- * Bits used for flags
- */
typedef enum {
FB_PTRBIT_NEW_BUDDY,
FB_PTRBIT_UNREAD_MSG
@@ -365,6 +358,7 @@ static void
fb_cb_api_messages(FbApi *api, GSList *msgs, gpointer data)
{
account_t *acct;
+ bee_user_t *bu;
FbApiMessage *msg;
FbData *fata = data;
gboolean mark;
@@ -378,15 +372,9 @@ fb_cb_api_messages(FbApi *api, GSList *msgs, gpointer data)
guint32 flags;
struct groupchat *gc;
struct im_connection *ic;
- bee_user_t *bu;
ic = fb_data_get_connection(fata);
acct = ic->acc;
- if (g_strcmp0(set_getstr(&acct->set, "mark_read"), "available") == 0) {
- mark = !fb_api_is_invisible(api);
- } else {
- mark = set_getbool(&acct->set, "mark_read");
- }
selfmess = (set_find(&ic->bee->set, "self_messages") != NULL);
str = set_getstr(&acct->set, "group_chat_open");
@@ -396,6 +384,14 @@ fb_cb_api_messages(FbApi *api, GSList *msgs, gpointer data)
open = 2;
}
+ str = set_getstr(&acct->set, "mark_read");
+
+ if (g_strcmp0(str, "available") == 0) {
+ mark = !fb_api_is_invisible(api);
+ } else {
+ mark = set_getbool(&acct->set, "mark_read");
+ }
+
for (l = msgs; l != NULL; l = l->next) {
msg = l->data;
flags = 0;
@@ -411,6 +407,7 @@ fb_cb_api_messages(FbApi *api, GSList *msgs, gpointer data)
}
bu = bee_user_by_handle(ic->bee, ic, uid);
+
if (bu == NULL) {
msg = fb_api_message_dup(msg, TRUE);
fb_data_add_message(fata, msg);
@@ -643,11 +640,11 @@ fb_eval_open(struct set *set, char *value)
static char *
fb_eval_mark_read(struct set *set, char *value)
{
- if (!is_bool(value) && (g_strcmp0(value, "available") != 0)) {
- return SET_INVALID;
- }
+ if (!is_bool(value) && (g_strcmp0(value, "available") != 0)) {
+ return SET_INVALID;
+ }
- return value;
+ return value;
}
static void
@@ -768,21 +765,25 @@ fb_logout(struct im_connection *ic)
static int
fb_buddy_msg(struct im_connection *ic, char *to, char *message, int flags)
{
+ account_t *acct = ic->acc;
+ bee_user_t *bu;
FbApi *api;
FbData *fata = ic->proto_data;
FbId uid;
- account_t *acct;
- bee_user_t *bu;
- acct = ic->acc;
api = fb_data_get_api(fata);
uid = FB_ID_FROM_STR(to);
- fb_api_message(api, uid, FALSE, message);
bu = bee_user_by_handle(ic->bee, ic, to);
- if (set_getbool(&acct->set, "mark_read_reply") && bu != NULL && FB_UTIL_PTRBIT_GET(bu->data, FB_PTRBIT_UNREAD_MSG)) {
+
+ if (set_getbool(&acct->set, "mark_read_reply") &&
+ (bu != NULL) &&
+ FB_UTIL_PTRBIT_GET(bu->data, FB_PTRBIT_UNREAD_MSG))
+ {
fb_api_read(api, uid, FALSE);
FB_UTIL_PTRBIT_SET(bu->data, FB_PTRBIT_UNREAD_MSG, FALSE);
}
+
+ fb_api_message(api, uid, FALSE, message);
return 0;
}
@@ -870,16 +871,18 @@ fb_chat_leave(struct groupchat *gc)
static void
fb_chat_msg(struct groupchat *gc, char *message, int flags)
{
+ account_t *acct = gc->ic->acc;
FbApi *api;
FbData *fata = gc->ic->proto_data;
FbId tid;
- account_t *acct;
- acct = gc->ic->acc;
api = fb_data_get_api(fata);
tid = FB_ID_FROM_STR(gc->title);
fb_api_message(api, tid, TRUE, message);
- if (set_getbool(&acct->set, "mark_read_reply") && GPOINTER_TO_INT(gc->data)) {
+
+ if (set_getbool(&acct->set, "mark_read_reply") &&
+ GPOINTER_TO_INT(gc->data))
+ {
fb_api_read(api, tid, TRUE);
gc->data = GINT_TO_POINTER(TRUE);
}