Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: Abstract Syntax Tree for C programs Date: Thu, 13 Jun 2019 02:08:16 -0700 Organization: A noiseless patient Spider Lines: 16 Message-ID: <86ftod97jz.fsf@mailhub.linuxsc.com> References: <8a72685f-2774-4187-98bf-c9ecd44b3240@googlegroups.com> <6ed2dfc1-a737-4fb3-b59a-3aa1c337061d@googlegroups.com> <9jfKE.1834916$coJ.1263461@fx36.am4> <87k1dxs5y0.fsf@bsb.me.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: reader02.eternal-september.org; posting-host="ef0a227b331df30b5055ba709176503b"; logging-data="3688"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19PtoIB0L2+hEmogWxJYjgWO2B1slHgrIo=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:uoxLZBjJRxW7nlZhisavxazREQw= sha1:aaGXYegiI8MRGvC2rw1ugJ1nv28= Xref: csiph.com comp.lang.c:144792 Ben Bacarisse writes: > Bart writes: [...] >> Yet, people routinely use functions such as 'printf', where the >> [arguments] really can be anything at all: [...] >> >> object pointers including strings > > The permitted types are rather limited. For %p its only void *. > You can pass character pointers and wchar_t pointers for %s and %ls > respectively, and often overlooked, an int * for %n, but that about > it. Also pointers to other signed integer types, for %n conversions that include a length modifier.