summary refs log tree commit diff stats
path: root/plugins
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2012-07-18 14:50:58 +0200
committerBerke Viktor <bviktor@hexchat.org>2012-07-18 14:50:58 +0200
commit1b0c07f8ea3415ebc4dcae2f87e5d529a83bb7b9 (patch)
tree29441043864f7fd2615146d38d02e6da19c3ddb4 /plugins
parentd3effc806f79555f0e002d07a4a8a81becbc830f (diff)
Checksum Unix support and configure.in cosmetics
Diffstat (limited to 'plugins')
-rw-r--r--plugins/Makefile.am6
-rw-r--r--plugins/checksum/Makefile.am9
-rw-r--r--plugins/checksum/checksum.c29
3 files changed, 34 insertions, 10 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index c8c4a795..53c59bf9 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -29,5 +29,9 @@ if DO_FISHLIM
 fishlimdir = fishlim
 endif
 
+if DO_CHECKSUM
+checksumdir = checksum
+endif
+
 #SUBDIRS = . $(pythondir) $(perldir) mailcheck xdcc
-SUBDIRS = . $(pythondir) $(perldir) $(tcldir) $(sasldir) $(doatdir) $(fishlimdir)
+SUBDIRS = . $(pythondir) $(perldir) $(tcldir) $(sasldir) $(doatdir) $(fishlimdir) $(checksumdir)
diff --git a/plugins/checksum/Makefile.am b/plugins/checksum/Makefile.am
new file mode 100644
index 00000000..747d5de4
--- /dev/null
+++ b/plugins/checksum/Makefile.am
@@ -0,0 +1,9 @@
+EXTRA_DIST = INSTALL LICENSE README
+
+libdir = $(hexchatlibdir)/plugins
+
+lib_LTLIBRARIES = checksum.la
+checksum_la_SOURCES = checksum.c
+checksum_la_LDFLAGS = -avoid-version -module 
+checksum_la_LIBADD = 
+INCLUDES = $(COMMON_CFLAGS) -I$(srcdir)/..
diff --git a/plugins/checksum/checksum.c b/plugins/checksum/checksum.c
index 135764eb..f84eb243 100644
--- a/plugins/checksum/checksum.c
+++ b/plugins/checksum/checksum.c
@@ -22,28 +22,39 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 #include <malloc.h>
 #include <errno.h>
 #include <sys/types.h>
-#include <sys/stat.h>
 #include <openssl/sha.h>
+#include <glib.h>
 
-#include "xchat-plugin.h"
-
-#define BUFSIZE 32768
-#define DEFAULT_LIMIT 256									/* default size is 256 MiB */
-
+#ifdef WIN32
 #ifndef snprintf
 #define snprintf _snprintf
 #endif
 #ifndef stat64
 #define stat64 _stat64
 #endif
+#else
+/* for INT_MAX */
+#include <limits.h>
+#define __USE_LARGEFILE64
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+#endif
+
+#include <sys/stat.h>
+
+#include "xchat-plugin.h"
+
+#define BUFSIZE 32768
+#define DEFAULT_LIMIT 256									/* default size is 256 MiB */
 
 static xchat_plugin *ph;									/* plugin handle */
 static const char name[] = "Checksum";
 static const char desc[] = "Calculate checksum for DCC file transfers";
-static const char version[] = "3.0";
+static const char version[] = "3.1";
 
 /* Use of OpenSSL SHA256 interface: http://adamlamers.com/?p=5 */
 static void
@@ -217,11 +228,11 @@ dccoffer_cb (char *word[], void *userdata)
 static void
 checksum (char *word[], void *userdata)
 {
-	if (!stricmp ("GET", word[2]))
+	if (!g_ascii_strcasecmp ("GET", word[2]))
 	{
 		print_limit ();
 	}
-	else if (!stricmp ("SET", word[2]))
+	else if (!g_ascii_strcasecmp ("SET", word[2]))
 	{
 		set_limit (word[3]);
 	}