Date: 14 Sep 1996 17:13:30 -0500 From: Zach Heilig <zach@blizzard.gaffaneys.com> To: Wolfram Schneider <wosch@cs.tu-berlin.de> Cc: current@FreeBSD.org Subject: Re: str*cmp Message-ID: <87d8zoiw39.fsf@freebsd.gaffaneys.com> In-Reply-To: Wolfram Schneider's message of Sat, 14 Sep 1996 21:43:43 %2B0200 References: <199609141943.VAA02898@campa.panke.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Wolfram Schneider <wosch@cs.tu-berlin.de> writes: > src/lib/libc/string/strcmp.c > int > strcmp(s1, s2) > register const char *s1, *s2; > { > while (*s1 == *s2++) > if (*s1++ == 0) > ^^^^^^^^^^ > should be (*s1++ == '\0') Actually, this is a style issue. '\0' is an 'int' with the value zero, exacly like 0 is an 'int' with the value zero. If you look in the standard, you will note that '\<octal>' (or '\x<hex>') is a integer with the literal value of whatever '<octal>' (or <hex>) is. '\0' is simply an octal integer constant with the value 0 (made up to LOOK like a character constant). C++ is a bit different because '\0' is really a 'char' (still 0 valued), but since both languages do type conversions as necessary, there is no problems caused by that bit of code. -- Zach Heilig (zach@blizzard.gaffaneys.com) | ALL unsolicited commercial email Support bacteria -- it's the | is unwelcome. I avoid dealing only culture some people have! | with companies that email ads.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87d8zoiw39.fsf>