Cleaned buddy code a bit.
1.1 --- a/android/workspace/im.pidgin.libpurple/native/PurpleBuddy.c
1.2 +++ b/android/workspace/im.pidgin.libpurple/native/PurpleBuddy.c
1.3 @@ -16,7 +16,9 @@
1.4 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getName_1native(JNIEnv *env,
1.5 jobject obj)
1.6 {
1.7 - const char* name = purple_buddy_get_name(getNativeBuddy(env, obj));
1.8 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.9 + g_return_val_if_fail(buddy_native != NULL, NULL);
1.10 + const char* name = purple_buddy_get_name(buddy_native);
1.11 return (*env)->NewStringUTF(env, name);
1.12 }
1.13
1.14 @@ -28,7 +30,9 @@
1.15 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getAlias_1native(JNIEnv *env,
1.16 jobject obj)
1.17 {
1.18 - const char* alias = purple_buddy_get_alias(getNativeBuddy(env, obj));
1.19 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.20 + g_return_val_if_fail(buddy_native != NULL, NULL);
1.21 + const char* alias = purple_buddy_get_alias(buddy_native);
1.22 return (*env)->NewStringUTF(env, alias);
1.23 }
1.24
1.25 @@ -40,10 +44,12 @@
1.26 Java_im_pidgin_libpurple_buddy_PurpleBuddy_setAlias_1native(JNIEnv *env,
1.27 jobject obj, jstring alias)
1.28 {
1.29 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.30 + g_return_if_fail(buddy_native != NULL);
1.31 const char* alias_native;
1.32 alias_native = (*env)->GetStringUTFChars(env, alias, NULL);
1.33 g_return_if_fail(alias_native != NULL);
1.34 - purple_blist_alias_buddy(getNativeBuddy(env, obj), alias_native);
1.35 + purple_blist_alias_buddy(buddy_native, alias_native);
1.36 (*env)->ReleaseStringUTFChars(env, alias, alias_native);
1.37 }
1.38
1.39 @@ -55,8 +61,9 @@
1.40 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getServerAlias_1native(JNIEnv *env,
1.41 jobject obj)
1.42 {
1.43 - const char* server_alias = purple_buddy_get_server_alias(
1.44 - getNativeBuddy(env, obj));
1.45 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.46 + g_return_val_if_fail(buddy_native != NULL, NULL);
1.47 + const char* server_alias = purple_buddy_get_server_alias(buddy_native);
1.48 return (*env)->NewStringUTF(env, server_alias);
1.49 }
1.50
1.51 @@ -68,8 +75,9 @@
1.52 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getDisplayName_1native(JNIEnv *env,
1.53 jobject obj)
1.54 {
1.55 - const char* contact_alias = purple_buddy_get_contact_alias(
1.56 - getNativeBuddy(env, obj));
1.57 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.58 + g_return_val_if_fail(buddy_native != NULL, NULL);
1.59 + const char* contact_alias = purple_buddy_get_contact_alias(buddy_native);
1.60 return (*env)->NewStringUTF(env, contact_alias);
1.61 }
1.62
1.63 @@ -81,7 +89,9 @@
1.64 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getAccount_1native(JNIEnv *env,
1.65 jobject obj)
1.66 {
1.67 - return pToLong(purple_buddy_get_account(getNativeBuddy(env, obj)));
1.68 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.69 + g_return_val_if_fail(buddy_native != NULL, 0);
1.70 + return pToLong(purple_buddy_get_account(buddy_native));
1.71 }
1.72
1.73 /*
1.74 @@ -92,7 +102,9 @@
1.75 Java_im_pidgin_libpurple_buddy_PurpleBuddy_isOnline_1native(JNIEnv *env,
1.76 jobject obj)
1.77 {
1.78 - return PURPLE_BUDDY_IS_ONLINE(getNativeBuddy(env, obj));
1.79 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.80 + g_return_val_if_fail(buddy_native != NULL, FALSE);
1.81 + return PURPLE_BUDDY_IS_ONLINE(buddy_native);
1.82 }
1.83
1.84 /*
1.85 @@ -103,5 +115,7 @@
1.86 Java_im_pidgin_libpurple_buddy_PurpleBuddy_getContact_1native(JNIEnv *env,
1.87 jobject obj)
1.88 {
1.89 - return pToLong(purple_buddy_get_contact(getNativeBuddy(env, obj)));
1.90 + PurpleBuddy *buddy_native = getNativeBuddy(env, obj);
1.91 + g_return_val_if_fail(buddy_native != NULL, 0);
1.92 + return pToLong(purple_buddy_get_contact(buddy_native));
1.93 }