From: ori@eigenstate.org
To: 9fans@9fans.net
Subject: Re: [9fans] void*
Date: Sun, 15 May 2022 10:46:11 -0400 [thread overview]
Message-ID: <DE8EB5F5C1E1F1B03C2349842EEB46E4@eigenstate.org> (raw)
In-Reply-To: <a133ada-4f54-c8a5-7530-9949aa5b45a4@SDF.ORG>
Quoth adr <adr@SDF.ORG>:
> Hi,
> one of the first thing I noticed compiling in plan9 is that arithmetic
> on void* is illegal. Other compilers treat void* as uchar*.
> Conceptually, it makes sense. A pointer to void doesn't point to
> any object. But then I've seen the use of void* in functions (like
> memccpy) when the pointed object is going to be processed as a
> byte array. Local uchar*'s are used to do the trick inside the
> function.
>
arithmetic on void* is a gnu extension. It also implies
sizeof(void) == 1; this is indeed true with gcc.
I also don't think it's useful enough to add a special
case to an already special case: it's rare to be able
to do pointer arithmetic on void and *not* access the
memory, in my experience.
> It wouldn't make more sense to avoid the use of void*
> and just use instead uchar* or better still u8int*?
the unique thing about void* is that there is an implicit
conversion from any pointer type to void*; there is not
for uchar* or u8int*.
memset((u8int*)&x, 0, sizeof(x));
seems unnecessarily clunky.
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tecaea3b9ec8e7066-Ma63068d9d401c85e69d9d87f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
next prev parent reply other threads:[~2022-05-15 14:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-15 10:58 adr
2022-05-15 12:11 ` Humm
2022-05-15 13:03 ` adr
2022-05-15 13:15 ` adr
2022-05-15 13:21 ` arnold
2022-05-15 14:09 ` adr
2022-05-15 14:47 ` ori
2022-05-15 15:49 ` adr
2022-05-15 15:23 ` Dan Cross
2022-05-15 15:50 ` Bakul Shah
2022-05-15 15:54 ` ori
2022-05-15 14:46 ` ori [this message]
2022-05-15 16:07 ` adr
2022-05-16 6:24 ` Skip Tavakkolian
2022-05-16 12:46 ` Humm
2022-05-16 13:23 ` Bakul Shah
2022-05-16 14:46 ` Charles Forsyth
2022-05-16 16:03 ` adr
2022-05-16 17:45 ` hiro
2022-05-17 4:00 ` Lucio De Re
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DE8EB5F5C1E1F1B03C2349842EEB46E4@eigenstate.org \
--to=ori@eigenstate.org \
--cc=9fans@9fans.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).