From: Steffen Nurpmeso <steffen@sdaoden.eu>
To: Ronald Natalie <ron@ronnatalie.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] v7 K&R C
Date: Sun, 17 May 2020 01:26:07 +0200 [thread overview]
Message-ID: <20200516232607.nLiIx%steffen@sdaoden.eu> (raw)
In-Reply-To: <5DB09C5A-F5DA-4375-AAA5-0711FC6FB1D9@ronnatalie.com>
Ronald Natalie wrote in
<5DB09C5A-F5DA-4375-AAA5-0711FC6FB1D9@ronnatalie.com>:
|> On May 15, 2020, at 7:34 PM, Steffen Nurpmeso <steffen@sdaoden.eu> wrote:
|> ron@ronnatalie.com wrote in
|> <077a01d62b08$e696bee0$b3c43ca0$@ronnatalie.com>:
|>|Char is different. One of the silly foibles of C. char can be \
|>|signed or
|>|unsigned at the implementation's decision.
|>
|> And i would wish Thompson and Pike would have felt the need to
|> design UTF-8 ten years earlier. Maybe we would have a halfway
|> usable "wide" character interface in the standard (C) library.
|The issue is making char play double duty as a basic storage unit and \
|a native character.
|This means you can never have 16 (or 32 bit) chars on any machine that \
|you wanted to support 8 bit integers.
Oh, I am not the person to step in here.
[I deleted 60+ lines of char*/void*, and typedefs,
etc. experiences i had. And POSIX specifying that a byte has
8-bit. And soon that NULL/(void*)0 has all bits 0.]
Unicode / ISO 10646 did not exist by then. sure.
I am undecided. I was a real fan of UTF-32 (32-bit character)
at times, but when i looked more deeply in Unicode, it turned
out to be false thinking: some languages are so complex that you
need to address entire sentences, or at least encapsulate
"graphem" boundaries, going for "codepoints" is just wrong.
Then i thought Microsoft and their UTF-16 decision was not that
bad, because almost all real life characters of Unicode can
nonetheless be addressed by a single 16-bit codepoint, and that
eases programming. But moreover UTF-8 needs three bytes for
most of them.
Why did it happen? Why was the char type overloaded like this?
Why was there no byte or "mem" type? It is to this day, i think,
that ISO C allows to bypass their (terrible) aliasing rules by
casting to and from char*.
In v5 usr/src/s2/mail.c i see
+getfield(buf)
+char buf[];
+{
+ int j;
+ char c;
+
+ j = 0;
+ while((c = buf[j] = getc(iobuf)) >= 0)
+ if(c==':' || c=='\n') {
+ buf[j] =0;
+ return(1);
+ } else
+ j++;
+ return(0);
+}
so here the EOF was different and char was signed 7-bit it seems.
At that time at latest i have to admit that i have not looked in
old source code for years. But just had a quick look in the dmr/
of 5th revision, and there you see "char lowbyte", for example.
A nice Sunday from Germany! i wish you, and the list,
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
next prev parent reply other threads:[~2020-05-16 23:26 UTC|newest]
Thread overview: 139+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-15 21:31 Richard Tobin
2020-05-15 21:53 ` Steve Nickolas
2020-05-15 22:33 ` ron
2020-05-15 23:34 ` Steffen Nurpmeso
2020-05-16 1:26 ` Larry McVoy
2020-05-16 21:59 ` Ronald Natalie
2020-05-16 23:26 ` Steffen Nurpmeso [this message]
2020-05-17 16:24 ` Paul Winalski
2020-05-17 16:29 ` ron
2020-05-17 16:38 ` Paul Winalski
2020-05-17 20:08 ` Clem Cole
2020-05-18 8:46 ` Peter Jeremy
2020-05-19 7:41 ` Dave Horsfall
2020-05-18 12:04 ` Tony Finch
2020-05-18 13:10 ` Clem Cole
2020-05-18 15:13 ` Rich Morin
2020-05-18 15:51 ` Brantley Coile
2020-05-18 16:11 ` Dan Cross
2020-05-18 21:18 ` ron
2020-05-17 16:10 ` Derek Fawcus
2020-05-17 16:14 ` ron
-- strict thread matches above, loose matches on Subject: below --
2020-05-19 12:29 Noel Chiappa
2020-05-19 2:29 Doug McIlroy
2020-05-19 3:20 ` Steve Nickolas
2020-05-18 14:33 Doug McIlroy
2020-05-18 13:58 Doug McIlroy
2020-05-16 18:45 Richard Tobin
2020-05-16 21:55 ` Ronald Natalie
2020-05-16 0:15 Nelson H. F. Beebe
2020-05-16 0:28 ` Steffen Nurpmeso
2020-05-16 1:52 ` Warner Losh
2020-05-16 16:31 ` Paul Winalski
2020-05-16 20:35 ` Brad Spencer
2020-05-16 20:37 ` Warner Losh
2020-05-18 12:25 ` Tony Finch
2020-05-15 20:34 Doug McIlroy
2020-05-15 20:40 ` Warner Losh
2020-05-14 18:41 Doug McIlroy
2020-05-14 18:45 ` Richard Salz
2020-05-14 20:54 ` Clem Cole
2020-05-15 2:44 ` Rob Pike
2020-05-15 3:57 ` Rich Morin
2020-05-15 7:55 ` Dr Iain Maoileoin
2020-05-15 15:01 ` Larry McVoy
2020-05-15 15:36 ` John P. Linderman
2020-05-15 20:01 ` ron
2020-05-15 20:03 ` Larry McVoy
2020-05-15 20:05 ` Clem Cole
2020-05-15 20:18 ` ron
2020-05-15 20:24 ` Clem Cole
2020-05-16 0:57 ` Brantley Coile
2020-05-16 16:14 ` Dan Cross
2020-05-15 20:56 ` Steve Nickolas
2020-05-16 0:31 ` Peter Jeremy
2020-05-16 8:30 ` Steve Nickolas
2020-05-16 0:43 ` John P. Linderman
2020-05-16 16:28 ` Paul Winalski
2020-05-16 17:39 ` Warner Losh
2020-05-19 19:45 ` Peter Pentchev
2020-05-20 3:52 ` Rich Morin
2020-05-21 15:06 ` Dave Horsfall
[not found] <mailman.1.1589421601.13778.tuhs@minnie.tuhs.org>
2020-05-14 3:02 ` Paul McJones
2020-05-14 17:08 ` Paul Winalski
2020-05-14 17:58 ` Clem Cole
2020-04-27 17:45 Noel Chiappa
2020-04-27 17:56 ` Richard Salz
2020-04-27 18:02 ` Brantley Coile
2020-04-27 18:47 ` Derek Fawcus
2020-04-25 19:41 Noel Chiappa
2020-04-25 20:27 ` Steffen Nurpmeso
2020-04-25 13:11 Noel Chiappa
2020-04-25 13:18 ` Rob Pike
2020-04-25 14:57 ` Warner Losh
2020-04-25 18:03 ` Noel Chiappa
2020-04-25 20:11 ` Michael Kjörling
2020-04-25 21:27 ` Brian L. Stuart
2020-04-26 0:07 ` emanuel stiebler
2020-04-26 0:54 ` Rob Pike
2020-04-26 19:37 ` Derek Fawcus
2020-04-26 20:10 ` Derek Fawcus
2020-04-26 21:59 ` Rich Morin
2020-04-26 22:38 ` Noel Hunt
2020-04-26 23:57 ` Nemo Nusquam
2020-04-27 3:38 ` Rob Pike
2020-04-25 13:35 ` Hellwig Geisse
2020-04-25 13:59 ` Richard Salz
2020-04-25 19:01 ` Brian L. Stuart
2020-04-25 20:07 ` Michael Kjörling
2020-04-25 21:34 ` Brian L. Stuart
2020-04-26 6:40 ` arnold
2020-04-25 1:59 Adam Thornton
2020-04-25 2:37 ` Charles Anthony
2020-04-25 2:47 ` Adam Thornton
2020-04-25 2:51 ` Rob Pike
2020-04-25 2:54 ` Rob Pike
2020-04-25 3:04 ` Larry McVoy
2020-04-25 3:30 ` Clem Cole
2020-04-25 3:43 ` Larry McVoy
2020-04-25 3:54 ` Jon Steinhart
2020-04-25 11:44 ` Michael Kjörling
2020-04-25 13:17 ` Dan Cross
2020-05-11 0:28 ` scj
2020-05-11 0:32 ` Rob Pike
2020-05-11 0:57 ` Larry McVoy
2020-05-11 17:32 ` Greg A. Woods
2020-05-11 18:25 ` Paul Winalski
2020-05-11 18:37 ` Clem Cole
2020-05-11 19:12 ` Paul Winalski
2020-05-11 19:57 ` joe mcguckin
2020-05-11 20:25 ` Larry McVoy
2020-05-12 17:23 ` Paul Winalski
2020-05-12 17:35 ` ron
2020-05-12 17:42 ` Larry McVoy
2020-05-12 18:36 ` Paul Winalski
2020-05-13 23:36 ` Dave Horsfall
2020-05-14 0:42 ` John P. Linderman
2020-05-14 2:44 ` Rich Morin
2020-05-14 3:09 ` Charles Anthony
2020-05-14 12:27 ` ron
2020-05-14 12:27 ` ron
2020-05-14 12:27 ` ron
2020-05-14 7:38 ` Dave Horsfall
2020-05-14 12:25 ` ron
2020-05-14 17:13 ` Paul Winalski
2020-05-14 17:21 ` Larry McVoy
2020-05-17 16:34 ` Derek Fawcus
2020-05-14 4:21 ` Greg A. Woods
2020-05-14 4:40 ` Warner Losh
2020-05-14 17:32 ` Larry McVoy
2020-05-14 22:32 ` Tony Finch
2020-05-16 23:53 ` Steffen Nurpmeso
2020-05-17 0:35 ` Larry McVoy
2020-05-11 18:37 ` Larry McVoy
2020-05-11 2:08 ` Lawrence Stewart
2020-05-11 11:36 ` Michael Kjörling
2020-04-25 3:37 ` Dave Horsfall
2020-04-27 13:19 ` Tony Finch
2020-04-25 2:50 ` Adam Thornton
2020-04-25 5:59 ` Lars Brinkhoff
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=20200516232607.nLiIx%steffen@sdaoden.eu \
--to=steffen@sdaoden.eu \
--cc=ron@ronnatalie.com \
--cc=tuhs@tuhs.org \
/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).