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

Update from stable branch.

parent 73bfcf22
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -745,6 +745,10 @@

 Changes between 0.9.8j and 0.9.8k  [xx XXX xxxx]

  *) Improve efficiency of mem_gets: don't search whole buffer each time
     for a '\n'
     [Jeremy Shapiro <jnshapir@us.ibm.com>]

  *) New -hex option for openssl rand.
     [Matthieu Herrb]

+12 −10
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ static int mem_gets(BIO *bp, char *buf, int size)

	BIO_clear_retry_flags(bp);
	j=bm->length;
	if ((size-1) < j) j=size-1;
	if (j <= 0)
		{
		*buf='\0';
@@ -288,17 +289,18 @@ static int mem_gets(BIO *bp, char *buf, int size)
	p=bm->data;
	for (i=0; i<j; i++)
		{
		if (p[i] == '\n') break;
		}
	if (i == j)
		if (p[i] == '\n')
			{
		BIO_set_retry_read(bp);
		/* return(-1);  change the semantics 0.6.6a */ 
		}
	else
			i++;
	/* i is the max to copy */
	if ((size-1) < i) i=size-1;
			break;
			}
		}

	/*
	 * i is now the max num of bytes to copy, either j or up to
	 * and including the first newline
	 */ 

	i=mem_read(bp,buf,i);
	if (i > 0) buf[i]='\0';
	ret=i;