From: "A. Sinan Unur" Newsgroups: comp.os.msdos.djgpp Subject: Re: Please add strrev proposal Date: 28 Sep 2001 17:23:00 GMT Organization: Cornell University Lines: 69 Sender: asu1 AT cornell DOT invalid (on 128.253.251.163) Message-ID: References: NNTP-Posting-Host: 128.253.251.163 X-Trace: news01.cit.cornell.edu 1001697780 22587 128.253.251.163 (28 Sep 2001 17:23:00 GMT) X-Complaints-To: usenet AT news01 DOT cit DOT cornell DOT edu NNTP-Posting-Date: 28 Sep 2001 17:23:00 GMT User-Agent: Xnews/4.06.22 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Radical NetSurfer wrote in news:lcq8rtk1nqua2hc6rqfhmqisbd587n8t2n AT 4ax DOT com: > I would like to encourage everyone who has a need for > strrev to come forward and encourage the maintainers of > LIBC used with GCC to kindly add strrev. Count me against this if for no other reason that the fact that I do not like extra nonstandard function which solve tiny problems. If you need the functionality, you can write one for your own situation. If it is going to be added to a library, the solution needs to be useful to more than just one person in a particular situation. Anyway, the main point of my post, however, is to point out just one of the gotchas with these kinds of functions. You give the following usage example: > Example > printf("The reverse of %s is %s\n", str, strrev(str) ); Hmmmmm ..... let us see using the code you suggested: /* +++Date last modified: 05-Jul-1997 */ /* ** STRREV.C - reverse a string in place ** ** public domain by Bob Stout */ #include #include #include char *strrev(char *str) { char *p1, *p2; if (! str || ! *str) return str; for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2) { *p1 ^= *p2; *p2 ^= *p1; *p1 ^= *p2; } return str; } int main(void) { char s[] = "This is a test."; printf("Original String: %s\nReversed String:%s\n", s, strrev(s)); return 0; } C:\var>gcc djstrrev.c -o djstrrev.exe -O2 -Wall C:\var>djstrrev Original String: .tset a si sihT Reversed String: .tset a si sihT Now, think about that. -- -------------------------------- A. Sinan Unur http://www.unur.com/