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

move some string utilities to buf_str.c to reduce some dependencies (from 0.9.8 branch).

parent 8ed84541
Loading
Loading
Loading
Loading
+2 −2
Changes for crypto/buffer/Makefile: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -17,8 +17,8 @@ TEST=
APPS=

LIB=$(TOP)/libcrypto.a
LIBSRC= buffer.c buf_err.c
LIBOBJ= buffer.o buf_err.o
LIBSRC= buffer.c buf_str.c buf_err.c
LIBOBJ= buffer.o buf_str.o buf_err.o

SRC= $(LIBSRC)

+0 −58
Changes for crypto/buffer/buffer.c: 0 added lines, 58 removed lines.
Original line number Diff line number Diff line
@@ -162,64 +162,6 @@ int BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
	return(len);
	}

char *BUF_strdup(const char *str)
	{
	if (str == NULL) return(NULL);
	return BUF_strndup(str, strlen(str));
	}

char *BUF_strndup(const char *str, size_t siz)
	{
	char *ret;

	if (str == NULL) return(NULL);

	ret=OPENSSL_malloc(siz+1);
	if (ret == NULL) 
		{
		BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE);
		return(NULL);
		}
	BUF_strlcpy(ret,str,siz+1);
	return(ret);
	}

void *BUF_memdup(const void *data, size_t siz)
	{
	void *ret;

	if (data == NULL) return(NULL);

	ret=OPENSSL_malloc(siz);
	if (ret == NULL) 
		{
		BUFerr(BUF_F_BUF_MEMDUP,ERR_R_MALLOC_FAILURE);
		return(NULL);
		}
	return memcpy(ret, data, siz);
	}	

size_t BUF_strlcpy(char *dst, const char *src, size_t size)
	{
	size_t l = 0;
	for(; size > 1 && *src; size--)
		{
		*dst++ = *src++;
		l++;
		}
	if (size)
		*dst = '\0';
	return l + strlen(src);
	}

size_t BUF_strlcat(char *dst, const char *src, size_t size)
	{
	size_t l = 0;
	for(; size > 0 && *dst; size--, dst++)
		l++;
	return l + BUF_strlcpy(dst, src, size);
	}

void BUF_reverse(unsigned char *out, unsigned char *in, size_t size)
	{
	size_t i;