Commit 74e3931f authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Various Win32 fixes.

Resolve signed/unsigned conflicts

Make dso_win32.c compile.
parent 12dadc55
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -627,7 +627,7 @@ static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf,
static int print_bin(BIO *fp, const char *name, const unsigned char *buf,
		size_t len, int off)
	{
	int i;
	size_t i;
	char str[128];

	if (buf == NULL)
+24 −7
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ static char *win32_name_converter(DSO *dso, const char *filename);
static char *win32_merger(DSO *dso, const char *filespec1,
	const char *filespec2);

static const char *openssl_strnchr(const char *string, int c, size_t len);

static DSO_METHOD dso_meth_win32 = {
	"OpenSSL 'win32' shared library method",
	win32_load,
@@ -258,7 +260,7 @@ struct file_st
	const char *predir; int predirlen;
	const char *dir; int dirlen;
	const char *file; int filelen;
	}
	};

static struct file_st *win32_splitter(DSO *dso, const char *filename,
	int assume_last_is_dir)
@@ -270,7 +272,8 @@ static struct file_st *win32_splitter(DSO *dso, const char *filename,
	if (!filename)
		{
		DSOerr(DSO_F_WIN32_MERGER,DSO_R_NO_FILENAME);
		goto err;
		/*goto err;*/
		return(NULL);
		}

	result = OPENSSL_malloc(sizeof(struct file_st));
@@ -302,7 +305,8 @@ static struct file_st *win32_splitter(DSO *dso, const char *filename,
				{
				DSOerr(DSO_F_WIN32_MERGER,
					DSO_R_INCORRECT_FILE_SYNTAX);
				goto err;
				/*goto err;*/
				return(NULL);
				}
			result->device = start;
			result->devicelen = filename - start;
@@ -354,14 +358,14 @@ static struct file_st *win32_splitter(DSO *dso, const char *filename,
	while(*filename);

	if(!result->nodelen) result->node = NULL;
	if(!result->devicelen) result->devicce = NULL;
	if(!result->devicelen) result->device = NULL;
	if(!result->dirlen) result->dir = NULL;
	if(!result->filelen) result->file = NULL;

	return(result);
	}

static char *win32_joiner(DSO *dso, const file_st *file_split)
static char *win32_joiner(DSO *dso, const struct file_st *file_split)
	{
	int len = 0, offset = 0;
	char *result = NULL;
@@ -428,7 +432,7 @@ static char *win32_joiner(DSO *dso, const file_st *file_split)
	start = file_split->predir;
	while(file_split->predirlen > (start - file_split->predir))
		{
		const char *end = strnchr(start, '/',
		const char *end = openssl_strnchr(start, '/',
			file_split->predirlen - (start - file_split->predir));
		if(!end)
			end = start
@@ -446,7 +450,7 @@ static char *win32_joiner(DSO *dso, const file_st *file_split)
	start = file_split->dir;
	while(file_split->dirlen > (start - file_split->dir))
		{
		const char *end = strnchr(start, '/',
		const char *end = openssl_strnchr(start, '/',
			file_split->dirlen - (start - file_split->dir));
		if(!end)
			end = start
@@ -577,4 +581,17 @@ static char *win32_name_converter(DSO *dso, const char *filename)
	return(translated);
	}

static const char *openssl_strnchr(const char *string, int c, size_t len)
	{
	size_t i;
	const char *p;
	for (i = 0, p = string; i < len && *p; i++, p++)
		{
		if (*p == c)
			return p;
		}
	return NULL;
	}


#endif /* OPENSSL_SYS_WIN32 */
+1 −1
Original line number Diff line number Diff line
@@ -939,7 +939,7 @@ static int cswift_rand_bytes(unsigned char *buf, int num)
	}
	acquired = 1;

	while (nbytes < num)
	while (nbytes < (size_t)num)
	{
		/* tell CryptoSwift how many bytes we want and where we want it.
		 * Note: - CryptoSwift cannot do more than 4096 bytes at a time.