Re: A89: Clearing a string


[Prev][Next][Index][Thread]

Re: A89: Clearing a string




while i agree completely with you on the first, I don't on the second.  I
think that the semicolon at the end of the for line clearly indicates that
the for loop has no body.  The continue is just redundant and takes up
space.

--kaus

----- Original Message -----
From: "Kevin Goodsell" <goodsell@bridgernet.com>
To: <assembly-89@lists.ticalc.org>
Sent: Monday, July 03, 2000 6:36 PM
Subject: Re: A89: Clearing a string


>
> I have two gripes about some of this code. First, I personally believe you
> should not assign and int into a char, so instead of str[i] = 0 you should
> use str[i] = '\0', It may be equivalent, but the latter makes it more
clear
> that you are dealing with chars and not ints.
>
> Second, I prefer to write empty for statements this way:
>
> for (conditions)
>     continue;
>
> This makes it obvious that the body of the loop is not intended to do
> anything. I'm picky about these things because I spend a lot of time
> deciphering other people's code.
>
> -Kevin
>
> -----Original Message-----
> From: ComAsYuAre@aol.com <ComAsYuAre@aol.com>
> To: assembly-89@lists.ticalc.org <assembly-89@lists.ticalc.org>
> Date: Monday, July 03, 2000 2:50 PM
> Subject: Re: A89: Clearing a string
>
>
> >
> >Hehe I wrote that :-)  This was Olle's code:
> >
> >int i; for(i=0;str[i++]!=0;str[i]=0);
> >
> >
> >In a message dated Mon, 3 Jul 2000  4:50:43 PM Eastern Daylight Time,
Robin
> Kirkman <misty@drrobin.yi.org> writes:
> >
> ><<
> >eck.. ollie's works fine
> >
> >*(str++)=0;
> >
> >that sets the value *str to 0, then increments str
> >while(*str) *(str++)=0;
> >while the value at str is not zero, set the value to zero and increment
str
> >
> >
> >
> >ComAsYuAre@aol.com wrote:
> >>
> >> I don't think yours will actually work though--it won't clear the first
> char.  Rather, use:
> >>
> >> for(int i=0; str[i]; str[i++]=0);
> >>
> >> If you post-increment i in the conditional, it will test before the
first
> loop and thus skip str[0] in the clearing code.  Incrementing in the
> "increment" piece of the for loop generally works better =P
> >>
> >> In a message dated Mon, 3 Jul 2000  4:10:02 PM Eastern Daylight Time,
> Olle Hedman <oh@hem.passagen.se> writes:
> >>
> >> <<
> >> just don't forget to save the stringpointer if you want to use the
string
> >> variable again :)
> >>
> >> file://Olle
> >>
> >> ComAsYuAre@aol.com wrote:
> >> > Or if we're going REALLY trying to shorten that code...
> >> >
> >> > while(*str) *str++=0;
> >> >
> >> > :-)
> >>
> >>  >>
> >
> > >>
> >
> >
> >
>
>




Follow-Ups: References: