summary refs log tree commit diff stats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/plugin.c26
-rw-r--r--src/common/plugin.h12
-rw-r--r--src/common/xchat-plugin.h27
3 files changed, 51 insertions, 14 deletions
diff --git a/src/common/plugin.c b/src/common/plugin.c
index 41690038..bd960ea5 100644
--- a/src/common/plugin.c
+++ b/src/common/plugin.c
@@ -270,8 +270,10 @@ plugin_add (session *sess, char *filename, void *handle, void *init_func,
 		pl->xchat_send_modes = xchat_send_modes;
 		pl->xchat_strip = xchat_strip;
 		pl->xchat_free = xchat_free;
-		pl->xchat_set_plugin_pref = xchat_set_plugin_pref;
-		pl->xchat_get_plugin_pref = xchat_get_plugin_pref;
+		pl->xchat_set_plugin_pref_str = xchat_set_plugin_pref_str;
+		pl->xchat_get_plugin_pref_str = xchat_get_plugin_pref_str;
+		pl->xchat_set_plugin_pref_int = xchat_set_plugin_pref_int;
+		pl->xchat_get_plugin_pref_int= xchat_get_plugin_pref_int;
 
 		/* incase new plugins are loaded on older xchat */
 		pl->xchat_dummy4 = xchat_dummy;
@@ -1582,7 +1584,7 @@ xchat_free (xchat_plugin *ph, void *ptr)
 }
 
 int
-xchat_set_plugin_pref (xchat_plugin *pl, char *var, char *value)
+xchat_set_plugin_pref_str (xchat_plugin *pl, char *var, char *value)
 {
 	FILE *fpIn;
 	int fhOut;
@@ -1678,7 +1680,7 @@ xchat_set_plugin_pref (xchat_plugin *pl, char *var, char *value)
 }
 
 int
-xchat_get_plugin_pref (xchat_plugin *pl, char *var, char *dest)
+xchat_get_plugin_pref_str (xchat_plugin *pl, char *var, char *dest)
 {
 	int fh;
 	int l;
@@ -1728,3 +1730,19 @@ xchat_get_plugin_pref (xchat_plugin *pl, char *var, char *dest)
 	close (fh);
 	return 1;
 }
+
+int
+xchat_set_plugin_pref_int (xchat_plugin *pl, char *var, int value)
+{
+	char buffer[12];
+	sprintf (buffer, "%d", value);
+	return xchat_set_plugin_pref_str (pl, var, buffer);
+}
+
+int
+xchat_get_plugin_pref_int (xchat_plugin *pl, char *var)
+{
+	char buffer[12];
+	xchat_get_plugin_pref_str (pl, var, buffer);
+	return atoi (buffer);
+}
diff --git a/src/common/plugin.h b/src/common/plugin.h
index 6a2d62e2..f0ae6fc4 100644
--- a/src/common/plugin.h
+++ b/src/common/plugin.h
@@ -98,13 +98,17 @@ struct _xchat_plugin
 	     int flags);
 	void (*xchat_free) (xchat_plugin *ph,
 	    void *ptr);
-	int (*xchat_set_plugin_pref) (xchat_plugin *ph,
+	int (*xchat_set_plugin_pref_str) (xchat_plugin *ph,
 		char *var,
 		char *value);
-	int (*xchat_get_plugin_pref) (xchat_plugin *ph,
+	int (*xchat_get_plugin_pref_str) (xchat_plugin *ph,
 		char *var,
-		char *dest,
-		int dest_len);
+		char *dest);
+	int (*xchat_set_plugin_pref_int) (xchat_plugin *ph,
+		char *var,
+		int value);
+	int (*xchat_get_plugin_pref_int) (xchat_plugin *ph,
+		char *var);
 	void *(*xchat_dummy4) (xchat_plugin *ph);
 	void *(*xchat_dummy3) (xchat_plugin *ph);
 	void *(*xchat_dummy2) (xchat_plugin *ph);
diff --git a/src/common/xchat-plugin.h b/src/common/xchat-plugin.h
index c3606b19..c278012a 100644
--- a/src/common/xchat-plugin.h
+++ b/src/common/xchat-plugin.h
@@ -137,12 +137,17 @@ struct _xchat_plugin
 	     int flags);
 	void (*xchat_free) (xchat_plugin *ph,
 	    void *ptr);
-	int (*xchat_set_plugin_pref) (xchat_plugin *ph,
+	int (*xchat_set_plugin_pref_str) (xchat_plugin *ph,
 		char *var,
 		char *value);
-	int (*xchat_get_plugin_pref) (xchat_plugin *ph,
+	int (*xchat_get_plugin_pref_str) (xchat_plugin *ph,
 		char *var,
 		char *dest);
+	int (*xchat_set_plugin_pref_int) (xchat_plugin *ph,
+		char *var,
+		int value);
+	int (*xchat_get_plugin_pref_int) (xchat_plugin *ph,
+		char *var);
 };
 #endif
 
@@ -299,15 +304,23 @@ xchat_free (xchat_plugin *ph,
 	    void *ptr);
 
 int
-xchat_set_plugin_pref (xchat_plugin *ph,
+xchat_set_plugin_pref_str (xchat_plugin *ph,
 		char *var,
 		char *value);
 
 int
-xchat_get_plugin_pref (xchat_plugin *ph,
+xchat_get_plugin_pref_str (xchat_plugin *ph,
 		char *var,
 		char *dest);
 
+int
+xchat_set_plugin_pref_int (xchat_plugin *ph,
+		char *var,
+		int value);
+int
+xchat_get_plugin_pref_int (xchat_plugin *ph,
+		char *var);
+
 #if !defined(PLUGIN_C) && defined(WIN32)
 #ifndef XCHAT_PLUGIN_HANDLE
 #define XCHAT_PLUGIN_HANDLE (ph)
@@ -342,8 +355,10 @@ xchat_get_plugin_pref (xchat_plugin *ph,
 #define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes)
 #define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip)
 #define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free)
-#define xchat_set_plugin_pref ((XCHAT_PLUGIN_HANDLE)->xchat_set_plugin_pref)
-#define xchat_get_plugin_pref ((XCHAT_PLUGIN_HANDLE)->xchat_get_plugin_pref)
+#define xchat_set_plugin_pref_str ((XCHAT_PLUGIN_HANDLE)->xchat_set_plugin_pref_str)
+#define xchat_get_plugin_pref_str ((XCHAT_PLUGIN_HANDLE)->xchat_get_plugin_pref_str)
+#define xchat_set_plugin_pref_int ((XCHAT_PLUGIN_HANDLE)->xchat_set_plugin_pref_int)
+#define xchat_get_plugin_pref_int ((XCHAT_PLUGIN_HANDLE)->xchat_get_plugin_pref_int)
 #endif
 
 #ifdef __cplusplus