This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: miscfuncs.cc won't compile with --enable-debugging


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@curl.com>
To: <cygwin-developers@cygwin.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();
>  }
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]