From owner-cvs-ports@FreeBSD.ORG Sun Jan 18 12:44:55 2004 Return-Path: Delivered-To: cvs-ports@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 904) id 1B15916A4CF; Sun, 18 Jan 2004 12:44:55 -0800 (PST) Date: Sun, 18 Jan 2004 12:44:55 -0800 From: Max Khon To: Clement LAFORET Message-ID: <20040118204455.GA35450@FreeBSD.org> References: <200401181147.i0IBl79Q029549@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="YiEDa0DAkWCtVeE4" Content-Disposition: inline In-Reply-To: <200401181147.i0IBl79Q029549@repoman.freebsd.org> User-Agent: Mutt/1.4.1i cc: cvs-ports@FreeBSD.org cc: cvs-all@FreeBSD.org cc: ports-committers@FreeBSD.org Subject: Re: cvs commit: ports/mail/libesmtp Makefile X-BeenThere: cvs-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Jan 2004 20:44:55 -0000 --YiEDa0DAkWCtVeE4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello! On Sun, Jan 18, 2004 at 03:47:07AM -0800, Clement LAFORET wrote: > clement 2004/01/18 03:47:07 PST > > FreeBSD ports repository > > Modified files: > mail/libesmtp Makefile > Log: > s/memrchr/memchr/. > It fixes an 'undefined reference to `memrchr''. > > Approved by: maintainer > Approved by: erwin (mentor) (implicitly) This fix is totally incorrect. memrchr is not a typo and was there intentionally (please take a look at the comments in the patched file one line before the places where memrchr is used). The correct fix is to add an implementation of memrchr.c to smtp-tls.c (attached). /fjoe --YiEDa0DAkWCtVeE4 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch-smtp-tls.c" --- smtp-tls.c.orig Mon Jan 19 02:36:32 2004 +++ smtp-tls.c Mon Jan 19 02:41:25 2004 @@ -450,6 +450,20 @@ return 1; } +#if defined(__FreeBSD__) +void * +memrchr(const void *v, int c, size_t size) +{ + const unsigned char *p = (const unsigned char *) v + size; + + while (size-- > 0) { + if (*--p == c) + return (void *) p; + } + return NULL; +} +#endif + /* Perform a domain name comparison where the reference may contain wildcards. This implements the comparison from RFC 2818. Each component of the domain name is matched separately, working from --YiEDa0DAkWCtVeE4--