Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Sort char array Date: Sun, 06 Oct 2019 17:32:25 -0700 Organization: None to speak of Lines: 34 Message-ID: References: <3mRlF.745330$vW4.322977@fx24.am4> <87ftk7nwlx.fsf@bsb.me.uk> <5i3mF.952079$aI7.587046@fx22.am4> <87a7afnmiq.fsf@bsb.me.uk> <8636g5ap5m.fsf@linuxsc.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="33e1e3aceb314569dcc7078913938d07"; logging-data="7605"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/5zv9G6NLJACRWEKKPyzIa" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:0Oic90aQJsYuTBXNvfXPUqY9WBk= sha1:EIbXQoOLfOS4D53j/lwonLqgQyI= Xref: csiph.com comp.lang.c:146668 Bart writes: [...] > Even POSIX C says those conversions have to work (eg. for dlsym) so I > guess such programs don't conform either. That's not exactly what POSIX says. It only guarantees the conversion for a void* pointer returned by dlsym(). An implementation could treat such pointers specially, say as a pointer into a table of functions pointers. I could explain what "conforming program" and "strictly conforming" mean, and how they relate to this kind of conversion, but there's no point, is there? > It is a nonsense that such an innocuous conversion, which is perfectly > well-defined for platforms using x86 and ARM, can't be used because such > C code might not work on some odd-ball microcontrollers. Well, my > applications wouldn't work on those anyway. You had a choice between portable code and gratuitously non-portable code. As usual, you chose the latter, and you refuse to acknowledge the possibility that there might be valid reasons to choose the former. It's boring. > So I'll leave you guys to it. You've threatened to leave this newsgroup before. -- Keith Thompson (The_Other_Keith) kst-u@mib.org Will write code for food. void Void(void) { Void(); } /* The recursive call of the void */