Mail Archives: cygwin-developers/2001/10/22/20:18:42
In addition to Chris's comment, I'd like to point out that this function
should be as streamlined for speed as possible (it can potentially get
called a lot)..
this:
__check_invalid_read_ptr_errno (const void *s, unsigned sz)
{
if (s && !IsBadReadPtr ((void *) s, sz))
return 0;
set_errno (EFAULT);
return EFAULT;
}
is probably better. (I've been doing a little code tuning research
recently. One thing that stood out was that if() tests should have the
most common branch as the {}, and drop through to the least common
branch.
In some cases that would result in ridiculously deep embedded if() {if
() {}} constructs, but for issues where performance matters it's
probably worth it.
Rob
----- Original Message -----
From: "Jonathan Kamens" <jik AT curl DOT com>
To: <cygwin-developers AT cygwin DOT com>
Sent: Tuesday, October 23, 2001 6:28 AM
Subject: miscfuncs.cc won't compile with --enable-debugging
> Corinna checked a change in today which break miscfuncs.cc when
> --enable-debugging is used. Here's a patch:
>
> Index: miscfuncs.cc
> ===================================================================
> RCS file: /cvs/src/src/winsup/cygwin/miscfuncs.cc,v
> retrieving revision 1.7
> diff -u -r1.7 miscfuncs.cc
> --- miscfuncs.cc 2001/10/22 11:31:39 1.7
> +++ miscfuncs.cc 2001/10/22 20:26:55
> @@ -158,7 +158,7 @@
> __check_invalid_read_ptr_errno (const void *s, unsigned sz)
> {
> if (!s || IsBadReadPtr ((void *) s, sz))
> - return set_errno (EFAULT);
> + set_errno (EFAULT);
>
> - return 0;
> + return get_errno();
> }
>
- Raw text -