| delorie.com/archives/browse.cgi | search |
| Date: | Wed, 20 Jun 2001 20:51:06 +0300 |
| From: | "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> |
| Sender: | halo1 AT zahav DOT net DOT il |
| To: | Martin Str|mberg <ams AT ludd DOT luth DOT se> |
| Message-Id: | <3596-Wed20Jun2001205105+0300-eliz@is.elta.co.il> |
| X-Mailer: | Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 |
| CC: | djgpp-workers AT delorie DOT com |
| In-reply-to: | <200106201656.SAA22736@father.ludd.luth.se> (message from Martin |
| Str|mberg on Wed, 20 Jun 2001 18:56:13 +0200 (MET DST)) | |
| Subject: | Re: More signed/unsigned issues |
| References: | <200106201656 DOT SAA22736 AT father DOT ludd DOT luth DOT se> |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
> From: Martin Str|mberg <ams AT ludd DOT luth DOT se>
> Date: Wed, 20 Jun 2001 18:56:13 +0200 (MET DST)
>
> According to Eli Zaretskii:
> > > while (s > 0) {
> > > - if (--f->_cnt > -f->_bufsiz && *(const char *)ptr != '\n')
> > > + if (--f->_cnt > -(long signed int)f->_bufsiz && *(const char *)ptr != 'n')
> > > *f->_ptr++ = *(const char *)ptr++;
> >
> > Isn't it better to introduce a new `long signed int' variable, assign
> > to it the value of f->_bufsiz, and then use that new variable instead
> > of f->_bufsiz? Let the optimizer do the dirty work ;-)
>
> Like this?:
>
> if (f->_flag & _IOLBF)
> while (s > 0) {
> - if (--f->_cnt > -f->_bufsiz && *(const char *)ptr != '\n')
> + long signed int negative_bufsiz = -f->_bufsiz;
> +
> + if (--f->_cnt > negative_bufsiz && *(const char *)ptr != '\n')
> *f->_ptr++ = *(const char *)ptr++;
Yes, exactly.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |