Changeset

443:bd1397b1dfc9

Merge from waqas
author Matthew Wild <mwild1@gmail.com>
date Thu, 27 Nov 2008 17:12:05 +0000
parents 440:dee02bf4656a (current diff) 442:722f63c70a77 (diff)
children 444:77485b9b840c
files
diffstat 4 files changed, 43 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/util-src/Makefile	Thu Nov 27 17:09:21 2008 +0000
+++ b/util-src/Makefile	Thu Nov 27 17:12:05 2008 +0000
@@ -1,3 +1,7 @@
+
+!IFDEF WINDIR
+!INCLUDE Makefile.win
+!ELSE
 
 LUA_INCLUDE=/usr/include/lua5.1
 LUA_LIB=lua5.1
@@ -22,3 +26,4 @@
 hashes.so: hashes.c
 	gcc -shared hashes.c -I$(LUA_INCLUDE) -l$(LUA_LIB) -l$(OPENSSL_LIB) -o hashes.so
 	
+!ENDIF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/util-src/Makefile.win	Thu Nov 27 17:12:05 2008 +0000
@@ -0,0 +1,29 @@
+
+LUA_PATH=$(LUA_DEV)
+IDN_PATH=.\libidn-1.9
+OPENSSL_PATH=.\openssl-0.9.8i
+
+LUA_INCLUDE=$(LUA_PATH)\include
+LUA_LIB=$(LUA_PATH)\lib\lua5.1.lib
+
+IDN_LIB=$(IDN_PATH)\win32\lib\libidn.lib
+IDN_INCLUDE1=$(IDN_PATH)\lib
+IDN_INCLUDE2=$(IDN_PATH)\win32\include
+OPENSSL_LIB=$(OPENSSL_PATH)\out32dll\libeay32.lib
+OPENSSL_INCLUDE=$(OPENSSL_PATH)\include
+
+all: encodings.dll hashes.dll
+
+install: encodings.dll hashes.dll
+	copy /Y *.dll ..\util\
+
+clean:
+	del encodings.dll encodings.exp encodings.lib encodings.obj
+	del hashes.dll hashes.exp hashes.lib hashes.obj
+
+encodings.dll: encodings.c
+	cl /LD /nologo encodings.c /I"$(LUA_INCLUDE)" /I"$(IDN_INCLUDE1)" /I"$(IDN_INCLUDE2)" /link "$(LUA_LIB)" "$(IDN_LIB)" /export:luaopen_util_encodings
+
+hashes.dll: hashes.c
+	cl /LD /nologo hashes.c /I"$(LUA_INCLUDE)" /I"$(OPENSSL_INCLUDE)" /link "$(LUA_LIB)" "$(OPENSSL_LIB)" /export:luaopen_util_hashes
+
--- a/util-src/encodings.c	Thu Nov 27 17:09:21 2008 +0000
+++ b/util-src/encodings.c	Thu Nov 27 17:12:05 2008 +0000
@@ -3,7 +3,11 @@
 * Lua library for base64, stringprep and idna encodings
 */
 
+// Newer MSVC compilers deprecate strcpy as unsafe, but we use it in a safe way
+#define _CRT_SECURE_NO_DEPRECATE
+
 #include <string.h>
+#include <malloc.h>
 
 #include "lua.h"
 #include "lauxlib.h"
@@ -51,9 +55,9 @@
 	char s[3];
 	switch (--n)
 	{
-		case 3: s[2]=tuple;
-		case 2: s[1]=tuple >> 8;
-		case 1: s[0]=tuple >> 16;
+		case 3: s[2]=(char) tuple;
+		case 2: s[1]=(char) (tuple >> 8);
+		case 1: s[0]=(char) (tuple >> 16);
 	}
 	luaL_addlstring(b,s,n);
 }
@@ -74,7 +78,7 @@
 			const char *p;
 			default:
 				p=strchr(code,c); if (p==NULL) return 0;
-				t[n++]= p-code;
+				t[n++]= (char) (p-code);
 				if (n==4)
 				{
 					base64_decode(&b,t[0],t[1],t[2],t[3],4);
--- a/util-src/hashes.c	Thu Nov 27 17:09:21 2008 +0000
+++ b/util-src/hashes.c	Thu Nov 27 17:12:05 2008 +0000
@@ -26,7 +26,7 @@
 	int hex_out = lua_toboolean(L, 2); \
 	char hash[size]; \
 	char result[size*2]; \
-	func(s, len, hash); \
+	func((const unsigned char*)s, len, (unsigned char*)hash);  \
 	if (hex_out) { \
 		toHex(hash, size, result); \
 		lua_pushlstring(L, result, size*2); \