Re: [exim] Compile errors strcpy = strlcpy ????

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: Doug Block
CC: exim-users
題目: Re: [exim] Compile errors strcpy = strlcpy ????
On Mon, 12 Sep 2005, Doug Block wrote:

> First set of errors
>
> acl.o(.text+0xac5): In function `acl_verify_csa':
> : warning: strcpy() is almost always misused, please use strlcpy()


strlcpy() is not a standard C function, and I try hard to stick to
standard functions where possible, to improve portability. As this is a
warning, it shouldn't be a problem in practice.

> filter.o(.text+0x10a3): In function `read_command':
> : warning: strcat() is almost always misused, please use strlcat()


Ditto.

> daemon.o(.text+0x1dc5): In function `daemon_go':
> : warning: sprintf() is often misused, please use snprintf()


Ditto. In fact, when Tom accidentally used snprintf() in some of his
code, there were complaints from some people who could no longer compile
Exim.

> acl.o(.text+0x1fd8): In function `acl_ratelimit':
> : undefined reference to `exp'


exp() *is* a standard C function...

> acl.o(.text+0xac7): In function `acl_verify_csa':
> : undefined reference to `Ustrlcpy'


I use a macro called Ustrcpy() to access the strcpy() function with
unsigned character arguments. You've broken something with your changes.

The only real problem seems to be the lack of exp(), which should be
defined in <math.h>.

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book