Re: [PATCH 1/2] [GSOC] ref-filter: add %(raw) atom
- From
ZheNing Hu <adlternative@gmail.com>
- Date
- May 31, 2021, 14:15 UTC
- Message-ID
- <CAOLTT8QnWru=jHYUWt_vddPnUwzP5+h0dN2s-pcHpOy=ZC1+Sw@mail.gmail.com>
- In-Reply-To
- <2c28515c-89b1-79dd-35a2-492eac6b7347@gmail.com>
Phillip Wood <phillip.wood123@gmail.com> 于2021年5月30日周日 下午9:05写道:
Show 23 quoted lines
>
> > static int memcasecmp(const void *vs1, const void *vs2, size_t n)
> > {
> > - size_t i;
> > - const char *s1 = (const char *)vs1;
> > - const char *s2 = (const char *)vs2;
> > -
> > - for (i = 0; i < n; i++) {
> > - unsigned char u1 = s1[i];
> > - unsigned char u2 = s2[i];
> > - int U1 = toupper (u1);
> > - int U2 = toupper (u2);
> > - int diff = (UCHAR_MAX <= INT_MAX ? U1 - U2
> > - : U1 < U2 ? -1 : U2 < U1);
> > + const char *s1 = (const void *)vs1;
> > + const char *s2 = (const void *)vs2;
>
> I think the new version looks fine apart from these casts. vs1 declared
> as 'const void *' in the function signature so this cast does not do
> anything. You could cast using (const char *) instead if you wanted but
> that is not required as you can assign a 'const void *' to 'const
> whatever *' without a cast.
>Yes, forced conversion in "const char *s1 = (const char *)vs1;" is somewhat redundant.
> Best Wishes > > Phillip >
Thanks. -- ZheNing Hu