GIT.Harvie.CZ
/
mirrors
/
libpurple-core-answerscripts.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8c4afbb
)
Hopefully fixed crash #9. Builds clean now.
author
Tomas Mudrunka
<tomas@mudrunka.cz>
Wed, 4 Nov 2015 22:36:02 +0000
(23:36 +0100)
committer
Tomas Mudrunka
<tomas@mudrunka.cz>
Wed, 4 Nov 2015 22:36:56 +0000
(23:36 +0100)
answerscripts.c
patch
|
blob
|
blame
|
history
diff --git
a/answerscripts.c
b/answerscripts.c
index bb3d8498458b9f7d5962d76d6847db7bf57e6379..0ad50d7c70a0e30f118bf1691219902078215f11 100755
(executable)
--- a/
answerscripts.c
+++ b/
answerscripts.c
@@
-1,3
+1,4
@@
+#define _GNU_SOURCE
//#define __WIN32__
#ifndef __WIN32__
#define ANSWERSCRIPT_EXT ""
//#define __WIN32__
#ifndef __WIN32__
#define ANSWERSCRIPT_EXT ""
@@
-23,12
+24,18
@@
/* Purple plugin */
#define PURPLE_PLUGINS
/* Purple plugin */
#define PURPLE_PLUGINS
-#include <libpurple/
debug
.h>
-#include <libpurple/
version
.h>
+#include <libpurple/
account
.h>
+#include <libpurple/
blist
.h>
#include <libpurple/conversation.h>
#include <libpurple/conversation.h>
+#include <libpurple/core.h>
+#include <libpurple/debug.h>
#include <libpurple/plugin.h>
#include <libpurple/plugin.h>
+#include <libpurple/savedstatuses.h>
#include <libpurple/signals.h>
#include <libpurple/signals.h>
+#include <libpurple/status.h>
#include <libpurple/util.h>
#include <libpurple/util.h>
+#include <libpurple/value.h>
+#include <libpurple/version.h>
char *message = NULL;
char *hook_script = NULL;
char *message = NULL;
char *hook_script = NULL;
@@
-38,6
+45,11
@@
typedef struct {
PurpleConversation *conv;
} answerscripts_job;
PurpleConversation *conv;
} answerscripts_job;
+const void *check_null(const void *pointer) {
+ if(pointer == NULL) return "";
+ return pointer;
+}
+
int answerscripts_process_message_cb(answerscripts_job *job) {
int i;
char response[ANSWERSCRIPTS_LINE_LENGTH+1]; response[0]='\0';
int answerscripts_process_message_cb(answerscripts_job *job) {
int i;
char response[ANSWERSCRIPTS_LINE_LENGTH+1]; response[0]='\0';
@@
-136,14
+148,14
@@
static void received_msg_cb(PurpleAccount *account, char *who, char *buffer, Pur
//Get status message
const char *status_msg = NULL;
if (purple_status_type_get_attr(type, "message") != NULL) {
//Get status message
const char *status_msg = NULL;
if (purple_status_type_get_attr(type, "message") != NULL) {
- status_msg =
purple_status_get_attr_string(status, "message"
);
+ status_msg =
check_null(purple_status_get_attr_string(status, "message")
);
} else {
} else {
- status_msg = (char *)
purple_savedstatus_get_message(purple_savedstatus_get_current(
));
+ status_msg = (char *)
check_null(purple_savedstatus_get_message(purple_savedstatus_get_current()
));
}
//remote
const char *r_status_msg = NULL;
if (purple_status_type_get_attr(r_status_type, "message") != NULL) {
}
//remote
const char *r_status_msg = NULL;
if (purple_status_type_get_attr(r_status_type, "message") != NULL) {
- r_status_msg =
purple_status_get_attr_string(r_status, "message"
);
+ r_status_msg =
check_null(purple_status_get_attr_string(r_status, "message")
);
} else {
r_status_msg = "";
}
} else {
r_status_msg = "";
}
@@
-237,8
+249,8
@@
static PurplePluginInfo info = {
static void init_plugin(PurplePlugin * plugin) {
//Export static environment variables
#ifndef __x86_64__ //Workaround for x86_64 (where this causes problems for unknown reason)
static void init_plugin(PurplePlugin * plugin) {
//Export static environment variables
#ifndef __x86_64__ //Workaround for x86_64 (where this causes problems for unknown reason)
- const char * core_ui =
purple_core_get_ui() != 0 ? (const char *) purple_core_get_ui() : ""
;
- const char * core_version =
purple_core_get_version() != 0 ? (const char *) purple_core_get_version() : ""
;
+ const char * core_ui =
check_null(purple_core_get_ui())
;
+ const char * core_version =
check_null(purple_core_get_version())
;
setenv(ENV_PREFIX "L_AGENT", (char *) core_ui, 1); //ID of IM client used with answerscripts
setenv(ENV_PREFIX "L_AGENT_VERSION", (char *) core_version, 1); //Version of client
#endif
setenv(ENV_PREFIX "L_AGENT", (char *) core_ui, 1); //ID of IM client used with answerscripts
setenv(ENV_PREFIX "L_AGENT_VERSION", (char *) core_version, 1); //Version of client
#endif
This page took
0.179134 seconds
and
4
git commands to generate.