Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #398106 > unrolled thread
| Started by | kalevi@kolttonen.fi (Kalevi Kolttonen) |
|---|---|
| First post | 2026-04-30 00:39 +0000 |
| Last post | 2026-05-11 18:23 +0200 |
| Articles | 20 on this page of 735 — 20 participants |
Back to article view | Back to comp.lang.c
Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-04-30 00:39 +0000
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-04-30 09:11 +0800
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-04-29 21:12 -0400
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-04-29 19:56 -0700
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-04-30 11:30 +0800
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-04-30 00:56 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-04-30 10:47 +0200
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-04-30 19:35 +0800
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-04-30 14:04 +0200
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-02 12:32 +0800
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-02 08:57 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 11:58 +0200
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-02 19:59 +0800
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 15:13 +0200
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-02 22:32 +0800
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 17:17 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-02 16:56 -0400
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-03 20:11 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 14:35 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-02 22:45 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 15:02 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-02 17:24 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-02 10:54 -0700
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-03 05:19 +0800
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-02 16:50 -0700
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-03 07:56 +0800
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-02 14:18 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 15:52 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-02 16:39 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 21:16 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 01:38 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 17:52 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 12:39 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 14:19 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 08:41 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 11:22 +0200
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-04 13:47 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-05 02:12 +0200
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-05 15:02 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-06 04:06 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 08:47 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 00:11 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-05 00:15 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-02 16:52 -0700
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-03 08:26 +0300
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 14:24 +0000
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-03 18:53 +0300
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 19:46 +0000
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-03 23:07 +0300
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 21:19 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 16:02 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-06 19:43 -0700
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-08 18:47 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 15:10 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-09 12:40 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 20:30 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 21:39 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 01:09 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 06:25 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 09:14 -0700
Re: Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-05-10 16:44 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 17:27 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-06-07 18:02 -0700
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 00:18 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 11:18 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 17:39 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 00:55 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 16:50 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-02 18:53 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-02 21:20 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 14:46 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 01:14 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 17:02 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 12:46 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-02 23:51 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 01:20 +0200
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-03 07:43 +0800
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 12:50 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-03 14:27 -0400
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-03 20:27 -0700
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 00:30 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 01:55 +0100
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 02:21 +0000
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-03 08:53 +0300
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 11:59 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 13:27 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 13:46 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 15:06 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 17:39 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 20:54 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 21:29 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 23:11 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 15:47 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 23:59 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 09:28 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 13:22 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 15:17 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-04 14:14 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-04 14:21 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 16:05 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 22:24 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 16:16 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 00:40 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 17:24 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-05 16:58 -0400
Re: Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-05-05 00:04 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 17:34 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-05 01:59 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-05 14:37 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-05 15:00 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 01:04 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 19:38 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 09:34 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 13:40 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 09:04 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 00:19 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-05 17:06 -0400
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-05 01:57 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 00:48 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 02:27 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 13:02 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 14:56 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-05 15:07 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 16:34 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 20:17 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 21:08 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 23:30 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 23:06 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 02:23 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-06 12:37 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 16:09 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-06 15:21 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 18:02 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-06 19:35 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 23:38 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 03:02 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 12:10 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-07 08:32 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 15:36 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 18:20 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 20:55 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 23:20 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 14:55 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 17:39 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 17:10 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 18:31 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 17:51 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-09 08:48 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 18:18 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-06-01 15:20 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-06-02 16:50 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-08 08:32 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 11:15 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 16:50 +0200
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-08 14:00 +0300
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-08 13:25 +0200
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-08 15:51 +0300
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 17:13 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 14:57 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-09 06:35 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 20:13 +0000
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-09 23:18 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 22:31 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 21:49 -0700
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-07 23:05 +0300
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-07 23:11 +0300
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 15:33 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 18:04 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-07 13:19 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 15:37 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 15:12 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-07 03:42 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 12:48 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-07 06:00 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-07 15:54 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 15:02 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-07 16:48 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-07 20:30 -0400
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 19:17 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 20:56 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-07 15:48 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 15:17 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-07 17:04 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 17:07 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 19:30 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-08 09:22 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 18:24 +0200
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 17:08 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 10:25 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 17:49 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 11:51 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 21:31 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 20:02 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-07 08:41 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-07 20:39 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-07 13:14 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-07 16:11 -0700
Re: Safety of casting from 'long' to 'int' Richard Harnden <richard.nospam@gmail.invalid> - 2026-05-08 08:18 +0100
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 11:33 +0100
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 12:48 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 09:58 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 21:04 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 13:15 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 03:02 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-09 12:54 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 15:51 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 19:02 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-07 20:56 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 22:08 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-08 09:54 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 02:07 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-08 12:43 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-10 20:31 -0400
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-11 08:55 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 17:07 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:32 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 18:56 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-11 22:37 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 14:30 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-12 08:35 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-12 00:38 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 14:05 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-12 16:32 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 17:27 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-12 15:33 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-12 16:00 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 23:14 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 19:48 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-13 12:48 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 05:26 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 15:07 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-17 20:43 -0400
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 12:16 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-13 13:20 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 14:31 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-13 17:16 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 15:52 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-14 11:43 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 02:59 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-14 01:39 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 03:57 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-14 11:49 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-14 10:57 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-14 10:22 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-14 12:32 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 16:11 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 01:12 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 02:30 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 02:38 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-18 19:48 -0400
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-19 01:12 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-18 19:22 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-19 11:31 +0100
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-19 12:21 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-19 14:15 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-19 14:14 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-22 21:58 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-22 23:23 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-23 00:09 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-23 04:13 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-24 04:37 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-27 17:57 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-19 14:12 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-20 04:20 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-19 19:00 -0400
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-19 16:56 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-19 11:31 -0400
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 08:37 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-14 17:00 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 09:44 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-14 18:57 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-31 18:25 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-14 18:51 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-14 19:19 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-14 20:50 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 02:52 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 02:07 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 03:39 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 19:04 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-15 10:27 +0200
Re: Safety of casting from 'long' to 'int' tTh <tth@none.invalid> - 2026-05-15 12:25 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 16:40 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 01:31 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 17:52 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-15 10:32 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 02:35 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 11:38 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-15 11:35 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 13:05 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-15 13:58 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 14:54 +0100
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 15:00 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-15 16:01 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 12:23 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 12:54 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-15 21:39 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 14:14 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-16 00:44 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-16 00:36 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 02:46 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 12:34 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 13:36 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 13:10 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-12 16:46 +0200
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 15:19 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 19:02 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 14:33 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 11:44 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 21:22 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 15:57 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-12 19:07 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 18:09 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 18:45 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 21:24 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 13:14 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 13:12 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 14:40 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 08:13 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 12:41 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 18:36 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 14:47 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 18:54 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 22:43 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-08 16:15 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 02:32 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 01:36 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 07:23 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 12:37 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-11 08:06 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 10:56 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 11:32 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 20:04 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 20:14 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-09 15:19 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 16:20 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 09:23 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-08 19:58 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 10:38 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-07 07:46 -0400
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-08 21:02 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 21:47 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-08 22:58 +0100
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 16:56 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 07:37 +0200
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-09 17:39 +0000
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-09 00:05 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-09 00:37 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 01:57 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-09 11:56 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 15:18 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-09 17:16 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-09 18:38 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-09 19:20 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 04:15 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-10 11:29 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 03:25 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 12:29 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 12:39 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 14:51 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 16:28 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 04:27 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 15:14 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 15:55 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-10 15:03 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 14:38 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 16:37 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 18:00 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-10 18:53 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 16:38 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 14:58 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 16:47 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 16:22 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 17:57 +0100
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-10 22:46 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 17:03 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 11:53 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-11 18:11 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:05 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 19:24 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 19:04 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 20:52 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 20:04 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-11 22:45 +0200
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:46 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-10 18:55 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 12:53 -0700
Re: Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-05-10 20:15 +0000
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-10 18:52 -0400
Re: Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-05-10 23:19 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 18:37 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-11 09:29 +0200
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-11 00:26 +0000
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-10 20:36 -0400
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 18:19 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 14:45 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-11 08:10 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 15:58 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 18:21 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:46 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 19:34 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 14:23 -0700
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-11 23:57 +0300
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 20:47 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 11:02 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 15:20 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 03:14 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 03:50 +0200
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-13 13:11 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:25 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 04:07 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 13:35 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-13 13:54 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 11:00 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 11:39 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 15:42 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 03:46 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 06:07 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-14 00:38 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-14 00:39 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 03:39 +0200
Re: Safety of casting from 'long' to 'int' tTh <tth@none.invalid> - 2026-05-14 07:47 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 09:54 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 06:25 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-14 17:49 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 16:33 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 03:31 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-15 01:56 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 19:12 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-15 02:20 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-15 13:44 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-31 14:43 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-14 15:26 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:22 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 19:20 +0000
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:51 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 15:32 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 01:35 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 06:19 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 12:52 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 11:49 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 12:59 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 17:10 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 01:21 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 17:42 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 02:33 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 18:43 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-10 20:30 -0400
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 15:17 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-11 18:12 +0200
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-11 23:48 +0300
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-12 10:42 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 07:12 -0700
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-12 22:21 +0300
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 19:19 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-13 11:17 -0400
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-09 05:50 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 08:39 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-09 13:10 +0100
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-09 18:04 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 14:49 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 00:25 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 00:16 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 06:39 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 13:22 +0100
Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 13:05 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-12 02:28 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 18:37 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-12 22:32 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') John Ames <commodorejohn@gmail.com> - 2026-05-12 15:28 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 02:49 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-12 15:35 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 03:26 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-13 12:32 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 14:42 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 12:28 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 04:30 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 19:58 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 09:40 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-14 12:03 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 16:51 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 14:57 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 12:35 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 20:18 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-13 21:46 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 15:45 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 10:53 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-14 16:59 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-15 15:45 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 20:17 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 12:47 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-15 13:15 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-15 22:16 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-15 21:52 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 04:48 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') David Brown <david.brown@hesbynett.no> - 2026-05-14 12:08 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-14 05:15 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-15 03:51 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-13 15:12 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-14 04:56 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-14 15:19 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-14 09:55 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-14 17:32 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 16:33 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Adam Sampson <ats@offog.org> - 2026-05-15 11:55 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-15 11:27 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-15 12:43 +0100
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-12 23:21 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-13 02:53 +0200
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') scott@slp53.sl.home (Scott Lurndal) - 2026-05-13 14:15 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 12:30 -0700
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 20:20 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 02:40 +0000
Re: Alternatives to C (was Re: Safety of casting from 'long' to 'int') Bart <bc@freeuk.com> - 2026-05-12 15:11 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 15:18 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 01:17 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 15:47 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 23:33 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 00:45 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 17:33 -0700
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-10 03:46 +0300
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 17:54 -0700
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 15:46 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 13:21 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 02:26 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 19:01 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 12:06 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 16:11 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 00:58 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 17:31 -0700
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-11 01:44 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 03:09 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 12:15 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 15:19 +0000
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-11 19:06 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 21:29 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-19 10:12 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-19 10:40 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-11 18:32 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 03:44 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-11 20:53 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-12 14:27 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 11:37 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 20:28 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 02:18 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 19:48 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 12:39 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:12 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 19:30 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:34 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 19:42 +0000
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-10 21:21 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-11 07:43 +0200
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:57 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-11 09:46 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 07:09 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-10 07:00 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-10 12:44 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 16:45 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-11 07:58 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 13:55 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-10 14:34 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-10 15:42 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-10 13:23 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-10 21:28 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 12:53 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 13:54 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 16:48 +0100
Re: Safety of casting from 'long' to 'int' tTh <tth@none.invalid> - 2026-05-11 18:26 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:20 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 19:38 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 18:50 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 11:58 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 18:44 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 19:28 +0000
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 19:41 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 14:16 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 23:05 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-11 16:13 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 21:03 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 20:08 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 15:25 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-11 17:03 +0100
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-09 21:25 -0400
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-09 07:31 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-06 21:45 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 09:30 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-07 03:44 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-07 18:03 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 14:45 +0000
Re: Safety of casting from 'long' to 'int' tTh <tth@none.invalid> - 2026-05-05 22:27 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 16:09 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-05 16:52 -0400
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 19:26 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-03 20:33 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 15:05 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-04 15:09 -0400
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 14:58 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 00:34 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-03 17:07 -0700
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-04 01:23 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 14:38 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 17:41 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-05 02:59 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 19:35 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-05 14:54 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 16:03 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-06 05:18 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-05 09:53 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-06 05:22 +0200
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 07:40 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 09:41 +0200
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-05 00:44 +0000
Re: Safety of casting from 'long' to 'int' tTh <tth@none.invalid> - 2026-05-04 05:47 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 08:59 +0200
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-04 14:31 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 14:40 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-04 14:42 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 10:00 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 10:07 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-04 15:05 -0400
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 21:04 +0100
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-04 20:52 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-04 21:56 +0100
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 01:12 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 10:16 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-05 11:11 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 11:25 +0200
Re: Safety of casting from 'long' to 'int' Richard Harnden <richard.nospam@gmail.invalid> - 2026-05-05 11:12 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 14:12 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-05 16:43 -0400
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 11:41 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 14:31 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 14:26 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 16:36 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-05 17:21 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 19:19 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 15:25 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 09:03 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 16:00 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 09:20 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 15:21 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 12:20 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-06 03:36 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 12:49 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 12:00 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 14:34 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-06 12:23 -0700
[meta] Optimizing posting and communication (was: something about UB) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-06 22:15 +0200
Re: [meta] Optimizing posting and communication (was: something about UB) cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-06 22:42 +0000
Re: [meta] Optimizing posting and communication Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-06 17:01 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-06 12:32 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-06 14:52 +0200
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 13:27 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 16:45 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 16:22 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-07 01:39 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-06 21:41 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 18:26 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 15:41 -0700
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-06 23:22 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 19:06 +0000
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-08 13:22 -0700
Re: Safety of casting from 'long' to 'int' "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-08 13:27 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-12 22:31 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 15:47 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-13 11:59 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 20:45 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 15:28 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-13 15:33 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-13 23:56 +0000
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-07 10:33 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-07 18:08 -0400
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 16:13 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 16:42 +0000
Re: Safety of casting from 'long' to 'int' Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2026-05-08 16:57 +0000
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-08 17:51 -0400
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 23:03 +0000
Re: Safety of casting from 'long' to 'int' scott@slp53.sl.home (Scott Lurndal) - 2026-05-08 17:01 +0000
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-09 08:37 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-09 22:15 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-09 16:24 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-05 06:41 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-05 18:06 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-05 16:26 -0700
Re: Safety of casting from 'long' to 'int' Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-05-08 15:33 -0700
Re: Safety of casting from 'long' to 'int' cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-08 23:34 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 15:05 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-04 18:54 -0400
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 16:21 -0700
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-05 16:48 -0400
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-05 00:39 +0000
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-05 03:23 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 18:03 +0100
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-03 20:24 +0300
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 19:15 +0100
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-03 20:59 +0200
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 20:38 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 09:07 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 10:23 +0200
Re: Safety of casting from 'long' to 'int' Michael S <already5chosen@yahoo.com> - 2026-05-04 10:45 +0300
Re: Safety of casting from 'long' to 'int' antispam@fricas.org (Waldek Hebisch) - 2026-05-03 20:54 +0000
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 23:27 +0100
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 09:18 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 09:03 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 01:07 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 10:37 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 02:37 -0700
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 13:44 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 10:58 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 11:34 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 12:12 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 13:46 +0200
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-04 02:42 -0700
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 12:17 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 13:52 +0200
Re: Safety of casting from 'long' to 'int' James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-05-04 14:32 -0400
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 09:48 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 11:12 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 11:39 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 12:08 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-04 14:00 +0200
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-04 23:54 +0200
Re: Safety of casting from 'long' to 'int' David Brown <david.brown@hesbynett.no> - 2026-05-05 10:22 +0200
Re: Safety of casting from 'long' to 'int' dave_thompson_2@comcast.net - 2026-06-06 17:49 -0400
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 14:57 -0700
Re: Safety of casting from 'long' to 'int' Bart <bc@freeuk.com> - 2026-05-03 00:14 +0100
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 16:55 -0700
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-03 08:04 +0800
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-02 17:16 -0700
Re: Safety of casting from 'long' to 'int' wij <wyniijj5@gmail.com> - 2026-05-03 08:29 +0800
Re: Safety of casting from 'long' to 'int' Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-05-02 16:51 +0200
Re: Safety of casting from 'long' to 'int' Bonita Montero <Bonita.Montero@gmail.com> - 2026-05-10 18:27 +0200
Re: Safety of casting from 'long' to 'int' kalevi@kolttonen.fi (Kalevi Kolttonen) - 2026-05-10 16:58 +0000
Re: Safety of casting from 'long' to 'int' Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-05-10 17:04 -0700
Re: Safety of casting from 'long' to 'int' Bonita Montero <Bonita.Montero@gmail.com> - 2026-05-11 18:23 +0200
Page 16 of 37 — ← Prev page 1 … 14 15 [16] 17 18 … 37 Next page →
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-05-13 12:34 +0200 |
| Message-ID | <10u1k3f$1l93k$14@dont-email.me> |
| In reply to | #398810 |
On 2026-05-12 16:05, Dan Cross wrote: >> [...] > > Yes, there are many examples of this, so it is obviously true. > However, I don't think there are many large projects written in > C where there isn't undefined behavior lurking somewhere, and > the amount of effort required to learn _all_ the rules of the > language is unnecessarily large. > > I think it is fair to say that there are people who wear their > knowledge of the C standard as a badge of honor and look down at > those who desire a simpler language or who do not know the rules > as well. Some of that is fair (we see examples in this group of > some who not only refuse to learn the rules of the language, but > revel in their ignorance). > > But that doesn't mean that all of the criticism is wrong, and > the frequency at which it happens that people run into UB is > also an indictment of the language. Put it this way: it may be > the programmer's fault that they relied on UB, but that it is so > evidently hard to learn and internalize the rules is also the > fault of the langauge. It is not wrong to wish it were better. I admire how well you put that. Janis > [...]
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-12 13:36 +0000 |
| Message-ID | <10tvadc$rau$1@reader1.panix.com> |
| In reply to | #398778 |
In article <10tthov$1eenk$3@kst.eternal-september.org>, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote: >David Brown <david.brown@hesbynett.no> writes: >[...] >> Perhaps the main "mistake" (where "mistake" means "I personally think >> C would be nicer for my own use if things were different") is that >> when mixing operations between signed int and unsigned int, the signed >> int is converted to unsigned. I suspect that in real-world code, >> unsigned int values that are within the range of signed int are common >> - and that negative signed int values are more common than unsigned >> int values that are out of range of signed int. Any common type here, >> unless it is larger than the two original types, is going to get some >> things wrong - but I think that converging on signed int as the common >> type would be wrong less often. And if that had been the rule, then >> unsigned-preserving promotion would be correct too in examples like >> yours. >[...] > >If I were designing a new C-like language, I'd probably avoid the >issue of signed-preserving vs. value-preserving altogether. I might >say operations where one operand is signed and the other is unsigned >are not allowed; if you need that, you can cast one of the operands. Agreed. C grew `unsigned` types relatively late in its design; it was not part of the language until "Typesetter C" (released to the world with 7th Edition Unix in early 1979), and was sort of shoehorned in. Prior to that, `int` was used interchangably for either signed or unsigned quantities, depending on context. I suspect that much of this has to do with the machines they were constrained with at the time: doing extensive type analysis on a PDP-11/45 with a few hundred kilobytes of RAM was not reasonable. >The C committee decided to impose a more or less reasonable rule on >all such operations; I might require the programmer to decide what >to do in each case. (There might be an exception for constants, >so that u+1 doesn't require a cast; I haven't thought through the >implications of that.) > >I'd also define operations on narrow types, so the promotion rules >become unnecesary. Not to keep beating that drum too hard, but this is what Rust did, and it works well: operations between values of different type require explicit conversions to a common type, and the semantics of those conversions are well-defined; signed and unsigned types are considered different. Overflow (or underflow) is considered an error, but operations with explicit wrapping semantics are available. >Of course C can't be changed in this way without breaking tons of >existing code. I think the same argument applied in the 1980s, while work was underway on what would become the 1989 ANSI standard. One of its problems stemming from its origins growing out of a typeless language (B) on small machines, is that C is weakly typed. And it has never been rigorously defined in the formal sense. But C had become wildly popular, and so fundamental changes to the type system would have broken a lot of code, and probably killed the effort. Much of the confusion that results on this newsgroup and elsewhere is a direct consequence of those properties: weakly typed, informally specified, profligate with nullable pointers that are really just integers in a trenchcoat, and so on. But I, for one, do not really believe that it could have been any other way. And of course, changing it so fundamentally now is unreasonable. It is the language that it is. The committee has expressed interest in making improvements so that it is less obtuse, but anything they do at this point will necessarily be incremental. Fortunately, there are alternatives for many of the domains where C has been dominant over the last five decades. Of course that has tradeoffs as well. But for example, if I were starting a new project designed to run on bare metal today and had the freedom to make the decision, I would not choose C as the implementation language. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-12 13:10 +0000 |
| Message-ID | <10tv8re$25l$1@reader1.panix.com> |
| In reply to | #398769 |
In article <10ttem6$1daks$2@dont-email.me>, David Brown <david.brown@hesbynett.no> wrote: >On 11/05/2026 19:07, Dan Cross wrote: >> [snip] >> The C89 rationale document is useful here, specifically section >> 3.2.1.1. >> >> It describes the tradeoffs between unsigned-preserving and >> value-preserving semantics that the committeee considered when >> making the decision to codify value-preserving behavior. Of >> note to this discussion is the following: >> >> |Both schemes give the same answer in the vast majority of >> |cases, and both give the same effective result in even more >> |cases in implementations with twos complement arithmetic and >> |quiet wraparound on signed overflow — that is, in most current >> |implementations. > >Yes, I've read the rationale here, and I'm still not convinced I >understand their reasoning. Nor am I. >> [snip] >> The situations they were thinking about were things like this: >> >> unsigned short a = 8; >> int b = -5; >> long c = a * b; >> >> With value-preserving semantics, `c` is 40. On the other hand, >> with unsigned-preserving semantics, assuming a 64-bit `long` and >> 32-bit `int`, `c` is 4294967256; logical enough, but one could >> see how that might be surprising for someone unfamiliar with the >> language. > >Thanks for that example. > >Perhaps the main "mistake" (where "mistake" means "I personally think C >would be nicer for my own use if things were different") is that when >mixing operations between signed int and unsigned int, the signed int is >converted to unsigned. I suspect that in real-world code, unsigned int >values that are within the range of signed int are common - and that >negative signed int values are more common than unsigned int values that >are out of range of signed int. Any common type here, unless it is >larger than the two original types, is going to get some things wrong - >but I think that converging on signed int as the common type would be >wrong less often. And if that had been the rule, then >unsigned-preserving promotion would be correct too in examples like yours. If I understand what you're saying -- and correct me if I'm wrong -- it sounds like you are suggesting sign-preserving semantics for all types. I'm sure they must have at least talked about that. Where did they idea go? I'm speculating, but I think they were trying to thread a needle here, and felt that redefining the semantics for types ranked with `int` and higher would be a bridge too far. I keep saying I had (and still have) a lot of sympathy for the committee: they were chared with imposing order on an unruly situation, balancing many competing organizations and interests, all while preserving compatibility with existing pratice and implementations, and (as they put it) retaining the "character" of C. This is an unenviable position to be in. I imagine the committee felt that, by the time the standards process was in full swing, the ship had sailed on changing the rules for values of type `int` or types of higher ranks, and they could only reasonably address promotion of leser ranked types to that of `int`. They acknowledged that the sign-preserving promotion rules were a big semantic difference from established practice; had they attempted to mandate sign-preserving rules for arithmetic involving the `int` family of types, they likely would have faced a serious revolt. And as they said in the rationale, in _most_ cases, it doesn't matter; for `int`/`unsigned int` even less so. For instance, assume a platform with 32-bit `int`. Then the behavior of this code is implementation-defined, but documented to have the same predictable result across most conforming compilers: unsigned int a = 8; int b = -5; int c = a * b; To whit, `b` is prompted to `unsigned int` per the rules set forth in the standard prior to the multiplication; the product is taken in some ring $Z/2^nZ$ where $n$ is the bit-width of `unsigned int` (in this example, 32); the product then undergoes lvalue conversion to `signed int`, but per the rules for unsigned-to-signed conversions, the result is implementation-defined (since the product is outside of the range of the positive subset of 32-bit numbers in 2s complement representation). However, almost all real implementations will define this using twos complement semantics with no change to representation, and assign the resulting value assigned to `c`. This is, surely, by far the most common case. So, for all _practical_ purposes, the interpretation of the product as signed or unsigned only matters in the handful of cases listed in the rationale: using the result in a comparison, right-shifting the result or widening it (in which case sign-extension matters, now that all the world's a 2s complement machine) and so on. And in cases where the compiler permits silent wrapping on signed overflow, as I firmly believe they expected to be the near-universal case, they made the argument that it mattered even less. Of course, we understand the consequences of these decisions much better now, 40 years after the fact. But I really don't think they thought things would unfold the way they have, with UB taking such a prominent role as a basis for optimization. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2026-05-12 16:46 +0200 |
| Message-ID | <10tvefc$1vmna$2@dont-email.me> |
| In reply to | #398806 |
On 12/05/2026 15:10, Dan Cross wrote: > In article <10ttem6$1daks$2@dont-email.me>, > David Brown <david.brown@hesbynett.no> wrote: >> On 11/05/2026 19:07, Dan Cross wrote: >>> [snip] >>> The C89 rationale document is useful here, specifically section >>> 3.2.1.1. >>> >>> It describes the tradeoffs between unsigned-preserving and >>> value-preserving semantics that the committeee considered when >>> making the decision to codify value-preserving behavior. Of >>> note to this discussion is the following: >>> >>> |Both schemes give the same answer in the vast majority of >>> |cases, and both give the same effective result in even more >>> |cases in implementations with twos complement arithmetic and >>> |quiet wraparound on signed overflow — that is, in most current >>> |implementations. >> >> Yes, I've read the rationale here, and I'm still not convinced I >> understand their reasoning. > > Nor am I. > >>> [snip] >>> The situations they were thinking about were things like this: >>> >>> unsigned short a = 8; >>> int b = -5; >>> long c = a * b; >>> >>> With value-preserving semantics, `c` is 40. On the other hand, >>> with unsigned-preserving semantics, assuming a 64-bit `long` and >>> 32-bit `int`, `c` is 4294967256; logical enough, but one could >>> see how that might be surprising for someone unfamiliar with the >>> language. >> >> Thanks for that example. >> >> Perhaps the main "mistake" (where "mistake" means "I personally think C >> would be nicer for my own use if things were different") is that when >> mixing operations between signed int and unsigned int, the signed int is >> converted to unsigned. I suspect that in real-world code, unsigned int >> values that are within the range of signed int are common - and that >> negative signed int values are more common than unsigned int values that >> are out of range of signed int. Any common type here, unless it is >> larger than the two original types, is going to get some things wrong - >> but I think that converging on signed int as the common type would be >> wrong less often. And if that had been the rule, then >> unsigned-preserving promotion would be correct too in examples like yours. > > If I understand what you're saying -- and correct me if I'm > wrong -- it sounds like you are suggesting sign-preserving > semantics for all types. > Yes. (Although I might not have thought through all the consequences of this - so it's possible that I'll later realise or learn that it would have been a bad idea.) > I'm sure they must have at least talked about that. Where did > they idea go? I'm speculating, but I think they were trying to > thread a needle here, and felt that redefining the semantics for > types ranked with `int` and higher would be a bridge too far. I > keep saying I had (and still have) a lot of sympathy for the > committee: they were chared with imposing order on an unruly > situation, balancing many competing organizations and interests, > all while preserving compatibility with existing pratice and > implementations, and (as they put it) retaining the "character" > of C. This is an unenviable position to be in. Sounds reasonable. > > I imagine the committee felt that, by the time the standards > process was in full swing, the ship had sailed on changing the > rules for values of type `int` or types of higher ranks, and > they could only reasonably address promotion of leser ranked > types to that of `int`. They acknowledged that the > sign-preserving promotion rules were a big semantic difference > from established practice; had they attempted to mandate > sign-preserving rules for arithmetic involving the `int` family > of types, they likely would have faced a serious revolt. > > And as they said in the rationale, in _most_ cases, it doesn't > matter; for `int`/`unsigned int` even less so. For instance, > assume a platform with 32-bit `int`. Then the behavior of this > code is implementation-defined, but documented to have the same > predictable result across most conforming compilers: > I don't know much about early C compilers (other than briefly trying C on a home computer in my teens, ANSI C was established by the time I first used C). Did early any / many C compilers guarantee wrapping for signed integer arithmetic? It is not a guarantee I have seen in any of the embedded C compiler manuals I have read, though some of these compilers were far too weakly optimising for it to have made a difference. > unsigned int a = 8; > int b = -5; > int c = a * b; > > To whit, `b` is prompted to `unsigned int` per the rules set > forth in the standard prior to the multiplication; the product > is taken in some ring $Z/2^nZ$ where $n$ is the bit-width of > `unsigned int` (in this example, 32); the product then undergoes > lvalue conversion to `signed int`, but per the rules for > unsigned-to-signed conversions, the result is > implementation-defined (since the product is outside of the > range of the positive subset of 32-bit numbers in 2s complement > representation). However, almost all real implementations will > define this using twos complement semantics with no change to > representation, and assign the resulting value assigned to `c`. > This is, surely, by far the most common case. > Yes, you end up with the same answer of -40, when "c" is an "int". But if "c" is "long" (like in your first example), and that is bigger than "int", the answer is 4294967256 which is almost certainly not what the programmer intended. If the common type for "a * b" had been signed int, rather than unsigned int, then you'd get -40 whether "c" is "int" or "long". And you'd get it more directly, with less IB. > So, for all _practical_ purposes, the interpretation of the > product as signed or unsigned only matters in the handful of > cases listed in the rationale: using the result in a comparison, > right-shifting the result or widening it (in which case > sign-extension matters, now that all the world's a 2s complement > machine) and so on. > > And in cases where the compiler permits silent wrapping on > signed overflow, as I firmly believe they expected to be the > near-universal case, they made the argument that it mattered > even less. > > Of course, we understand the consequences of these decisions > much better now, 40 years after the fact. But I really don't > think they thought things would unfold the way they have, with > UB taking such a prominent role as a basis for optimization. > > - Dan C. > Well, as they say, making predictions is hard - especially about the future!
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2026-05-12 15:19 +0000 |
| Message-ID | <YxHMR.271567$yHZ7.119601@fx10.iad> |
| In reply to | #398816 |
David Brown <david.brown@hesbynett.no> writes: >On 12/05/2026 15:10, Dan Cross wrote: >> >> And as they said in the rationale, in _most_ cases, it doesn't >> matter; for `int`/`unsigned int` even less so. For instance, >> assume a platform with 32-bit `int`. Then the behavior of this >> code is implementation-defined, but documented to have the same >> predictable result across most conforming compilers: >> > >I don't know much about early C compilers (other than briefly trying C >on a home computer in my teens, ANSI C was established by the time I >first used C). Did early any / many C compilers guarantee wrapping for >signed integer arithmetic? For the early C compiler on the PDP-11, the 'int' type was 16-bits, implicitly signed, and the code generator simply emitted available arithmetic instructions. It was the only C compiler at the time, any guarantees would have been implicit in the choice of target architecture. I mostly wrote unix kernel code using the v6 compiler, rather than writing code that did any heavy math, so whether value was preserved or sign was preserved wasn't something I, as a kernel programmer, routinely considered.
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2026-05-12 19:02 -0700 |
| Message-ID | <8633zwm5h9.fsf@linuxsc.com> |
| In reply to | #398817 |
scott@slp53.sl.home (Scott Lurndal) writes: > For the early C compiler on the PDP-11, the 'int' type was > 16-bits, implicitly signed, and the code generator simply emitted > available arithmetic instructions. > > It was the only C compiler at the time, any guarantees would have > been implicit in the choice of target architecture. > > I mostly wrote unix kernel code using the v6 compiler, rather than > writing code that did any heavy math, so whether value was > preserved or sign was preserved wasn't something I, as a kernel > programmer, routinely considered. If int was only 16 bits, I expect promotion considerations didn't come up very often.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-13 14:33 +0000 |
| Message-ID | <10u222u$ev2$2@reader1.panix.com> |
| In reply to | #398838 |
In article <8633zwm5h9.fsf@linuxsc.com>, Tim Rentsch <tr.17687@z991.linuxsc.com> wrote: >scott@slp53.sl.home (Scott Lurndal) writes: > >> For the early C compiler on the PDP-11, the 'int' type was >> 16-bits, implicitly signed, and the code generator simply emitted >> available arithmetic instructions. >> >> It was the only C compiler at the time, any guarantees would have >> been implicit in the choice of target architecture. >> >> I mostly wrote unix kernel code using the v6 compiler, rather than >> writing code that did any heavy math, so whether value was >> preserved or sign was preserved wasn't something I, as a kernel >> programmer, routinely considered. > >If int was only 16 bits, I expect promotion considerations didn't >come up very often. Presumably they came up all the time; `char` was used a small integer frequently. But there was no `unsigned` type so whether, it was promoted to an `int` or `unsigned int` was moot. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Date | 2026-05-13 11:44 -0700 |
| Message-ID | <10u2gqp$2t96p$2@kst.eternal-september.org> |
| In reply to | #398879 |
cross@spitfire.i.gajendra.net (Dan Cross) writes:
> In article <8633zwm5h9.fsf@linuxsc.com>,
> Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
[...]
>>If int was only 16 bits, I expect promotion considerations didn't
>>come up very often.
>
> Presumably they came up all the time; `char` was used a small
> integer frequently. But there was no `unsigned` type so
> whether, it was promoted to an `int` or `unsigned int` was moot.
Very early C didn't have unsigned int, but the signedness of char was
effectively implementation-defined. From the 1975 C Reference Manual:
A char object may be used anywhere an int may be. In all
cases the char is converted to an int by propagating its sign
through the upper 8 bits of the resultant integer. This is
consistent with the two’s complement representation used for
both characters and integers. (However, the sign-propagation
feature disappears in other implementations.)
In modern terms, the "other implementations" made plain char unsigned.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-13 21:22 +0000 |
| Message-ID | <10u2q33$aqo$1@reader1.panix.com> |
| In reply to | #398896 |
In article <10u2gqp$2t96p$2@kst.eternal-september.org>, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote: >cross@spitfire.i.gajendra.net (Dan Cross) writes: >> In article <8633zwm5h9.fsf@linuxsc.com>, >> Tim Rentsch <tr.17687@z991.linuxsc.com> wrote: >[...] >>>If int was only 16 bits, I expect promotion considerations didn't >>>come up very often. >> >> Presumably they came up all the time; `char` was used a small >> integer frequently. But there was no `unsigned` type so >> whether, it was promoted to an `int` or `unsigned int` was moot. > >Very early C didn't have unsigned int, but the signedness of char was >effectively implementation-defined. From the 1975 C Reference Manual: > > A char object may be used anywhere an int may be. In all > cases the char is converted to an int by propagating its sign > through the upper 8 bits of the resultant integer. This is > consistent with the two’s complement representation used for > both characters and integers. (However, the sign-propagation > feature disappears in other implementations.) > >In modern terms, the "other implementations" made plain char unsigned. That's a separate issue, but raises an interesting point when it comes to the early rationale for the integer promotion rules. Since it was (and is) implementation-defined whether values of type `char` would be treated as signed or not, it was (and is) IB whether the the value of a `char` is positive or negative. With value-preserving promotion semantics, it doesn't matter: in either event, the result would be a signed int with the same value as the `char`. With unsigned-preserving, it was IB whether the resulting value would be of type `signed int` or `unsigned int`. I don't know that it particularly matters all that much, but it does seem like the sort of thing that may have figured into the committee's decision. It's interesting that it doesn't seem to be in the rationale in the section covering promotion semantics. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-12 15:57 +0000 |
| Message-ID | <10tvilu$u8$1@reader1.panix.com> |
| In reply to | #398816 |
In article <10tvefc$1vmna$2@dont-email.me>,
David Brown <david.brown@hesbynett.no> wrote:
>On 12/05/2026 15:10, Dan Cross wrote:
>> In article <10ttem6$1daks$2@dont-email.me>,
>> David Brown <david.brown@hesbynett.no> wrote:
>>> [snip]
>>> Perhaps the main "mistake" (where "mistake" means "I personally think C
>>> would be nicer for my own use if things were different") is that when
>>> mixing operations between signed int and unsigned int, the signed int is
>>> converted to unsigned. I suspect that in real-world code, unsigned int
>>> values that are within the range of signed int are common - and that
>>> negative signed int values are more common than unsigned int values that
>>> are out of range of signed int. Any common type here, unless it is
>>> larger than the two original types, is going to get some things wrong -
>>> but I think that converging on signed int as the common type would be
>>> wrong less often. And if that had been the rule, then
>>> unsigned-preserving promotion would be correct too in examples like yours.
>>
>> If I understand what you're saying -- and correct me if I'm
>> wrong -- it sounds like you are suggesting sign-preserving
>> semantics for all types.
>
>Yes. (Although I might not have thought through all the consequences of
>this - so it's possible that I'll later realise or learn that it would
>have been a bad idea.)
Fair. This is all hypothetical.
>> [snip]
>> I imagine the committee felt that, by the time the standards
>> process was in full swing, the ship had sailed on changing the
>> rules for values of type `int` or types of higher ranks, and
>> they could only reasonably address promotion of leser ranked
>> types to that of `int`. They acknowledged that the
>> sign-preserving promotion rules were a big semantic difference
>> from established practice; had they attempted to mandate
>> sign-preserving rules for arithmetic involving the `int` family
>> of types, they likely would have faced a serious revolt.
>>
>> And as they said in the rationale, in _most_ cases, it doesn't
>> matter; for `int`/`unsigned int` even less so. For instance,
>> assume a platform with 32-bit `int`. Then the behavior of this
>> code is implementation-defined, but documented to have the same
>> predictable result across most conforming compilers:
>
>I don't know much about early C compilers (other than briefly trying C
>on a home computer in my teens, ANSI C was established by the time I
>first used C). Did early any / many C compilers guarantee wrapping for
>signed integer arithmetic? It is not a guarantee I have seen in any of
>the embedded C compiler manuals I have read, though some of these
>compilers were far too weakly optimising for it to have made a difference.
I think "guarantee" is too strong of a word; after all, there
was no standard in which to make a guarantee, but that was how
very early C compilers operated in practice. They were very
primitive, probably in part because of the paucity of the
machine they were developed on, so one really could imagine the
instructions that would be emitted in response to a given line
of code (C's unwarranted reputation as a "high-level assembler"
likely comes from this).
Pre-typesetter C, in particular, was pretty wild, though the
basic skeletal structure of the language as we know it had
mostly settled by then. Still, if one looks at the 6th Edition
Unix kernel source codes, one will frequently find things like
this (excerpted from the DN-11 driver):
```
struct dn {
struct {
char dn_stat;
char dn_reg;
} dn11[3];
}
#define DNADDR 0175200
dnopen(dev, flag)
{
register struct dn *dp;
register int rdev;
rdev = dev.d_minor;
dp = &DNADDR->dn11[rdev];
if (dp->dn_reg&(PWI|DLO))
u.u_error = ENXIO;
else {
DNADDR->dn11[0].dn_stat =| MENABLE;
dp->dn_stat = IENABLE|MENABLE|CRQ;
}
}
```
Notice the pointer that the struct member references are made
against, not just a variable with no declared type, but against
an integer constant: in early C, all `struct` members shared a
single common namespace; so the language assumed if it saw
`->member`, the thing on the left side of `->` must be a pointer
to an instance of whatever `struct` definition contained
`member`. On the PDP-11, an integer literal was taken as an
absolute address in the virtual address space of the program, as
defined by the settings in its segmentation registers. In the
kernel, this is basically a physical address.
>> unsigned int a = 8;
>> int b = -5;
>> int c = a * b;
>>
>> To whit, `b` is prompted to `unsigned int` per the rules set
>> forth in the standard prior to the multiplication; the product
>> is taken in some ring $Z/2^nZ$ where $n$ is the bit-width of
>> `unsigned int` (in this example, 32); the product then undergoes
>> lvalue conversion to `signed int`, but per the rules for
>> unsigned-to-signed conversions, the result is
>> implementation-defined (since the product is outside of the
>> range of the positive subset of 32-bit numbers in 2s complement
>> representation). However, almost all real implementations will
>> define this using twos complement semantics with no change to
>> representation, and assign the resulting value assigned to `c`.
>> This is, surely, by far the most common case.
>
>Yes, you end up with the same answer of -40, when "c" is an "int". But
>if "c" is "long" (like in your first example), and that is bigger than
>"int", the answer is 4294967256 which is almost certainly not what the
>programmer intended. If the common type for "a * b" had been signed
>int, rather than unsigned int, then you'd get -40 whether "c" is "int"
>or "long". And you'd get it more directly, with less IB.
But you'd have more UB, because you'd run into signed overflow
more often (assuming they preserved that as UB in this
hypothetical alternate reality). If, instead, they had defined
the language to have unsigned-preserving semantics and defined
the behavior of unsigned to signed convertion to be the inverse
of signed to unsigned conversion, then you'd get the same result
without the IB.
>> So, for all _practical_ purposes, the interpretation of the
>> product as signed or unsigned only matters in the handful of
>> cases listed in the rationale: using the result in a comparison,
>> right-shifting the result or widening it (in which case
>> sign-extension matters, now that all the world's a 2s complement
>> machine) and so on.
>>
>> And in cases where the compiler permits silent wrapping on
>> signed overflow, as I firmly believe they expected to be the
>> near-universal case, they made the argument that it mattered
>> even less.
>>
>> Of course, we understand the consequences of these decisions
>> much better now, 40 years after the fact. But I really don't
>> think they thought things would unfold the way they have, with
>> UB taking such a prominent role as a basis for optimization.
>
>Well, as they say, making predictions is hard - especially about the future!
Lol. Thanks, Steincke.
- Dan C.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2026-05-12 19:07 +0200 |
| Message-ID | <10tvmp7$23t17$1@dont-email.me> |
| In reply to | #398818 |
On 12/05/2026 17:57, Dan Cross wrote:
> In article <10tvefc$1vmna$2@dont-email.me>,
> David Brown <david.brown@hesbynett.no> wrote:
>> On 12/05/2026 15:10, Dan Cross wrote:
>>> In article <10ttem6$1daks$2@dont-email.me>,
>>> David Brown <david.brown@hesbynett.no> wrote:
>>> [snip]
>>> I imagine the committee felt that, by the time the standards
>>> process was in full swing, the ship had sailed on changing the
>>> rules for values of type `int` or types of higher ranks, and
>>> they could only reasonably address promotion of leser ranked
>>> types to that of `int`. They acknowledged that the
>>> sign-preserving promotion rules were a big semantic difference
>>> from established practice; had they attempted to mandate
>>> sign-preserving rules for arithmetic involving the `int` family
>>> of types, they likely would have faced a serious revolt.
>>>
>>> And as they said in the rationale, in _most_ cases, it doesn't
>>> matter; for `int`/`unsigned int` even less so. For instance,
>>> assume a platform with 32-bit `int`. Then the behavior of this
>>> code is implementation-defined, but documented to have the same
>>> predictable result across most conforming compilers:
>>
>> I don't know much about early C compilers (other than briefly trying C
>> on a home computer in my teens, ANSI C was established by the time I
>> first used C). Did early any / many C compilers guarantee wrapping for
>> signed integer arithmetic? It is not a guarantee I have seen in any of
>> the embedded C compiler manuals I have read, though some of these
>> compilers were far too weakly optimising for it to have made a difference.
>
> I think "guarantee" is too strong of a word; after all, there
> was no standard in which to make a guarantee, but that was how
> very early C compilers operated in practice. They were very
> primitive, probably in part because of the paucity of the
> machine they were developed on, so one really could imagine the
> instructions that would be emitted in response to a given line
> of code (C's unwarranted reputation as a "high-level assembler"
> likely comes from this).
>
Perhaps "documented" would be better than "guaranteed". I realise that
in many situations, even highly optimising compilers generate signed
integer arithmetic operations that wrap. But to me, it's important what
the documentation says. The C standard says signed integer arithmetic
is UB - if a C compiler's manual does not document what the compiler
does with overflow, you can't rely on any particular behaviour. But if
the manual says "signed integer overflow follows the target processor's
behaviour" and you know that is wrapping (no traps or other
"interesting" stuff), that's fine. Before the C standard, then of
course the compiler manual (and any referenced documents) would be only
source of information on the semantics.
Very occasionally, I'll rely on "what happens in practice" - if there is
no good and efficient way to avoid it and I can be sure from testing and
examining generated assembly code that everything works as I want.
> Pre-typesetter C, in particular, was pretty wild, though the
> basic skeletal structure of the language as we know it had
> mostly settled by then. Still, if one looks at the 6th Edition
> Unix kernel source codes, one will frequently find things like
> this (excerpted from the DN-11 driver):
>
> ```
> struct dn {
> struct {
> char dn_stat;
> char dn_reg;
> } dn11[3];
> }
>
> #define DNADDR 0175200
>
> dnopen(dev, flag)
> {
> register struct dn *dp;
> register int rdev;
>
> rdev = dev.d_minor;
> dp = &DNADDR->dn11[rdev];
> if (dp->dn_reg&(PWI|DLO))
> u.u_error = ENXIO;
> else {
> DNADDR->dn11[0].dn_stat =| MENABLE;
> dp->dn_stat = IENABLE|MENABLE|CRQ;
> }
> }
> ```
>
> Notice the pointer that the struct member references are made
> against, not just a variable with no declared type, but against
> an integer constant: in early C, all `struct` members shared a
> single common namespace; so the language assumed if it saw
> `->member`, the thing on the left side of `->` must be a pointer
> to an instance of whatever `struct` definition contained
> `member`. On the PDP-11, an integer literal was taken as an
> absolute address in the virtual address space of the program, as
> defined by the settings in its segmentation registers. In the
> kernel, this is basically a physical address.
>
Yes, I knew that's how structs worked before (though I have never had to
work with any code from that time). I notice also it has "=|" rather
than "|=".
And it seems to have been written at a time when space characters still
cost real money :-)
>>> unsigned int a = 8;
>>> int b = -5;
>>> int c = a * b;
>>>
>>> To whit, `b` is prompted to `unsigned int` per the rules set
>>> forth in the standard prior to the multiplication; the product
>>> is taken in some ring $Z/2^nZ$ where $n$ is the bit-width of
>>> `unsigned int` (in this example, 32); the product then undergoes
>>> lvalue conversion to `signed int`, but per the rules for
>>> unsigned-to-signed conversions, the result is
>>> implementation-defined (since the product is outside of the
>>> range of the positive subset of 32-bit numbers in 2s complement
>>> representation). However, almost all real implementations will
>>> define this using twos complement semantics with no change to
>>> representation, and assign the resulting value assigned to `c`.
>>> This is, surely, by far the most common case.
>>
>> Yes, you end up with the same answer of -40, when "c" is an "int". But
>> if "c" is "long" (like in your first example), and that is bigger than
>> "int", the answer is 4294967256 which is almost certainly not what the
>> programmer intended. If the common type for "a * b" had been signed
>> int, rather than unsigned int, then you'd get -40 whether "c" is "int"
>> or "long". And you'd get it more directly, with less IB.
>
> But you'd have more UB, because you'd run into signed overflow
> more often (assuming they preserved that as UB in this
> hypothetical alternate reality).
Would you get more signed overflow in practice? And in particular,
would you get more signed overflow UB in places where you would not have
a bug in the code anyway. There would certainly be more cases of signed
integer arithmetic, whereas moving to a common unsigned type means more
unsigned integer arithmetic. But I don't see signed integer arithmetic
as a risk of UB in itself - it is only a risk UB if you are working with
inappropriate values.
I think perhaps this is getting a bit speculative - we can't really give
quantitative values for the risk of problems with particular expressions
in existing C code. I believe the conclusion is simply that the C
committee chose the rules that they thought, at the time, gave the most
consistent results with the least risk of introducing new problems in
existing code written for a variety of slightly different C dialects.
Four decades later I disagree with some of those decisions, but there's
nothing to be done about it now.
> If, instead, they had defined
> the language to have unsigned-preserving semantics and defined
> the behavior of unsigned to signed convertion to be the inverse
> of signed to unsigned conversion, then you'd get the same result
> without the IB.
>
>>> So, for all _practical_ purposes, the interpretation of the
>>> product as signed or unsigned only matters in the handful of
>>> cases listed in the rationale: using the result in a comparison,
>>> right-shifting the result or widening it (in which case
>>> sign-extension matters, now that all the world's a 2s complement
>>> machine) and so on.
>>>
>>> And in cases where the compiler permits silent wrapping on
>>> signed overflow, as I firmly believe they expected to be the
>>> near-universal case, they made the argument that it mattered
>>> even less.
>>>
>>> Of course, we understand the consequences of these decisions
>>> much better now, 40 years after the fact. But I really don't
>>> think they thought things would unfold the way they have, with
>>> UB taking such a prominent role as a basis for optimization.
>>
>> Well, as they say, making predictions is hard - especially about the future!
>
> Lol. Thanks, Steincke.
>
> - Dan C.
>
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-12 18:09 +0000 |
| Message-ID | <10tvqcu$g53$1@reader1.panix.com> |
| In reply to | #398820 |
In article <10tvmp7$23t17$1@dont-email.me>,
David Brown <david.brown@hesbynett.no> wrote:
>On 12/05/2026 17:57, Dan Cross wrote:
>> I think "guarantee" is too strong of a word; after all, there
>> was no standard in which to make a guarantee, but that was how
>> very early C compilers operated in practice. They were very
>> primitive, probably in part because of the paucity of the
>> machine they were developed on, so one really could imagine the
>> instructions that would be emitted in response to a given line
>> of code (C's unwarranted reputation as a "high-level assembler"
>> likely comes from this).
>
>Perhaps "documented" would be better than "guaranteed". I realise that
>in many situations, even highly optimising compilers generate signed
>integer arithmetic operations that wrap. But to me, it's important what
>the documentation says. The C standard says signed integer arithmetic
>is UB - if a C compiler's manual does not document what the compiler
>does with overflow, you can't rely on any particular behaviour. But if
>the manual says "signed integer overflow follows the target processor's
>behaviour" and you know that is wrapping (no traps or other
>"interesting" stuff), that's fine. Before the C standard, then of
>course the compiler manual (and any referenced documents) would be only
>source of information on the semantics.
Sure, you turned around and hollered across the room, asking
Dennis what it did. :-D (I am only half joking.)
There is historical evidence indicating that a few references
were available, but they were mostly informal and internal-only.
The closest to actually describing the behavior of the language
was the C Reference Manual, which was in the printed version of
volume 2 of the Unix Programmer's Manual; in the version that
described 7th Edition Unix, it mentions overflow exactly once,
when describing a bug in the implementation that ran on the
Honeywell 6070 computer, under the GCOS system. It does mention
2's complement in a couple of places, when describing `>>` and
the `char` and `int` types.
K&R 1st Edition says, "The handling of overflow and divide check
in expression evaluation is machine-dependent. All existing
implementations of C ignore integer overflows" and in the
section on arithmetic operators, "The action taken on overflow
or underflow depends on the machine at hand."
One might infer from that that overflow was intended to be
defined as having 2s complement wrapping semantics, but that is
not said explicitly.
>Very occasionally, I'll rely on "what happens in practice" - if there is
>no good and efficient way to avoid it and I can be sure from testing and
>examining generated assembly code that everything works as I want.
>
>> Pre-typesetter C, in particular, was pretty wild, though the
>> basic skeletal structure of the language as we know it had
>> mostly settled by then. Still, if one looks at the 6th Edition
>> Unix kernel source codes, one will frequently find things like
>> this (excerpted from the DN-11 driver):
>>
>> ```
>> struct dn {
>> struct {
>> char dn_stat;
>> char dn_reg;
>> } dn11[3];
>> }
>>
>> #define DNADDR 0175200
>>
>> dnopen(dev, flag)
>> {
>> register struct dn *dp;
>> register int rdev;
>>
>> rdev = dev.d_minor;
>> dp = &DNADDR->dn11[rdev];
>> if (dp->dn_reg&(PWI|DLO))
>> u.u_error = ENXIO;
>> else {
>> DNADDR->dn11[0].dn_stat =| MENABLE;
>> dp->dn_stat = IENABLE|MENABLE|CRQ;
>> }
>> }
>> ```
>>
>> Notice the pointer that the struct member references are made
>> against, not just a variable with no declared type, but against
>> an integer constant: in early C, all `struct` members shared a
>> single common namespace; so the language assumed if it saw
>> `->member`, the thing on the left side of `->` must be a pointer
>> to an instance of whatever `struct` definition contained
>> `member`. On the PDP-11, an integer literal was taken as an
>> absolute address in the virtual address space of the program, as
>> defined by the settings in its segmentation registers. In the
>> kernel, this is basically a physical address.
>
>Yes, I knew that's how structs worked before (though I have never had to
>work with any code from that time). I notice also it has "=|" rather
>than "|=".
Yes. This is in Dennis Ritchie's C history paper; apparently it
was due to something they did in the lexical analyzer in B, on
the PDP-7.
>And it seems to have been written at a time when space characters still
>cost real money :-)
Heh. They preserved the density of that style in Plan 9, too.
>>>> unsigned int a = 8;
>>>> int b = -5;
>>>> int c = a * b;
>>>>
>>>> To whit, `b` is prompted to `unsigned int` per the rules set
>>>> forth in the standard prior to the multiplication; the product
>>>> is taken in some ring $Z/2^nZ$ where $n$ is the bit-width of
>>>> `unsigned int` (in this example, 32); the product then undergoes
>>>> lvalue conversion to `signed int`, but per the rules for
>>>> unsigned-to-signed conversions, the result is
>>>> implementation-defined (since the product is outside of the
>>>> range of the positive subset of 32-bit numbers in 2s complement
>>>> representation). However, almost all real implementations will
>>>> define this using twos complement semantics with no change to
>>>> representation, and assign the resulting value assigned to `c`.
>>>> This is, surely, by far the most common case.
>>>
>>> Yes, you end up with the same answer of -40, when "c" is an "int". But
>>> if "c" is "long" (like in your first example), and that is bigger than
>>> "int", the answer is 4294967256 which is almost certainly not what the
>>> programmer intended. If the common type for "a * b" had been signed
>>> int, rather than unsigned int, then you'd get -40 whether "c" is "int"
>>> or "long". And you'd get it more directly, with less IB.
>>
>> But you'd have more UB, because you'd run into signed overflow
>> more often (assuming they preserved that as UB in this
>> hypothetical alternate reality).
>
>Would you get more signed overflow in practice? And in particular,
>would you get more signed overflow UB in places where you would not have
>a bug in the code anyway. There would certainly be more cases of signed
>integer arithmetic, whereas moving to a common unsigned type means more
>unsigned integer arithmetic. But I don't see signed integer arithmetic
>as a risk of UB in itself - it is only a risk UB if you are working with
>inappropriate values.
I suspect you would, if only because one of the major motivating
factors for using unsigned arithmetic in practice is to have the
full bit-range of the type available. Consider a mask for the
high 20 bits of a uint32_t defined as,
const uint32_t MASK = ~0U * 4096;
In your hypothetical, this is technically UB.
Or consider the hashing algorithm from K&R2 as an example: if
the unsigned `hash` value were normalized to a `signed int`
before the multiply and add, then this would definitely overflow
for even short strings. Each iteration of the loop, effectively
shifting the hash value left by a little less than 5 bits. As
written, that would overflows a signed 32-bit number on the 7th
character.
>I think perhaps this is getting a bit speculative - we can't really give
>quantitative values for the risk of problems with particular expressions
>in existing C code. I believe the conclusion is simply that the C
>committee chose the rules that they thought, at the time, gave the most
>consistent results with the least risk of introducing new problems in
>existing code written for a variety of slightly different C dialects.
Yes. I think they did a good job given the constraints imposed
on them.
>Four decades later I disagree with some of those decisions, but there's
>nothing to be done about it now.
100%. I don't blame them for the decisions they made; I'm not
going to gnash my teeth and scream about it. A lot has happened
since, though, and I think showed that they got a few of them
wrong.
- Dan C.
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2026-05-12 18:45 +0000 |
| Message-ID | <RyKMR.12$Dw1.7@fx15.iad> |
| In reply to | #398823 |
cross@spitfire.i.gajendra.net (Dan Cross) writes:
>In article <10tvmp7$23t17$1@dont-email.me>,
>David Brown <david.brown@hesbynett.no> wrote:
<snip>
>>> Pre-typesetter C, in particular, was pretty wild, though the
>>> basic skeletal structure of the language as we know it had
>>> mostly settled by then. Still, if one looks at the 6th Edition
>>> Unix kernel source codes, one will frequently find things like
>>> this (excerpted from the DN-11 driver):
>>>
>>> ```
>>> struct dn {
>>> struct {
>>> char dn_stat;
>>> char dn_reg;
>>> } dn11[3];
>>> }
>>>
>>> #define DNADDR 0175200
>>>
>>> dnopen(dev, flag)
>>> {
>>> register struct dn *dp;
>>> register int rdev;
>>>
>>> rdev = dev.d_minor;
>>> dp = &DNADDR->dn11[rdev];
>>> if (dp->dn_reg&(PWI|DLO))
>>> u.u_error = ENXIO;
>>> else {
>>> DNADDR->dn11[0].dn_stat =| MENABLE;
>>> dp->dn_stat = IENABLE|MENABLE|CRQ;
>>> }
>>> }
>>> ```
>>>
>>> Notice the pointer that the struct member references are made
>>> against, not just a variable with no declared type, but against
>>> an integer constant: in early C, all `struct` members shared a
>>> single common namespace; so the language assumed if it saw
>>> `->member`, the thing on the left side of `->` must be a pointer
>>> to an instance of whatever `struct` definition contained
>>> `member`. On the PDP-11, an integer literal was taken as an
>>> absolute address in the virtual address space of the program, as
>>> defined by the settings in its segmentation registers. In the
>>> kernel, this is basically a physical address.
>>
>>Yes, I knew that's how structs worked before (though I have never had to
>>work with any code from that time). I notice also it has "=|" rather
>>than "|=".
>
>Yes. This is in Dennis Ritchie's C history paper; apparently it
>was due to something they did in the lexical analyzer in B, on
>the PDP-7.
>
>>And it seems to have been written at a time when space characters still
>>cost real money :-)
>
>Heh. They preserved the density of that style in Plan 9, too.
The code of that era was generally terse. Here's an interesting
fragment from v6 ls.c:
readdir(dir)
char *dir;
{
static struct {
int dinode;
char dname[14];
} dentry;
register char *p;
register int j;
register struct lbuf *ep;
if (fopen(dir, &inf) < 0) {
printf("%s unreadable\n", dir);
return;
}
tblocks = 0;
for(;;) {
p = &dentry;
for (j=0; j<16; j++)
*p++ = getc(&inf);
if (dentry.dinode==0
|| aflg==0 && dentry.dname[0]=='.')
continue;
if (dentry.dinode == -1)
break;
ep = gstat(makename(dir, dentry.dname), 0);
if (ep->lnum != -1)
ep->lnum = dentry.dinode;
for (j=0; j<14; j++)
ep->lname[j] = dentry.dname[j];
}
close(inf.fdes);
}
As an aside, I think this addresses your question/gripe about
why 'ls' ignored all dot files by default. While the intent
was to hide '.' and '..', ls(1) simply looked at the first
byte. I don't think user-created 'dot-files' were common in the v6
days, and when they did become common, it was _because_ of that
shortcut in V6 ls(1).
It's worth noting that Ken? used "aflg==0" rather than '!aflg' :-)
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-12 21:24 +0000 |
| Message-ID | <10u05qd$fd1$1@reader1.panix.com> |
| In reply to | #398824 |
In article <RyKMR.12$Dw1.7@fx15.iad>, Scott Lurndal <slp53@pacbell.net> wrote:
>cross@spitfire.i.gajendra.net (Dan Cross) writes:
>>In article <10tvmp7$23t17$1@dont-email.me>,
>>David Brown <david.brown@hesbynett.no> wrote:
>>>[snip]
>>>And it seems to have been written at a time when space characters still
>>>cost real money :-)
>>
>>Heh. They preserved the density of that style in Plan 9, too.
>
>The code of that era was generally terse. Here's an interesting
>fragment from v6 ls.c:
>
>readdir(dir)
>char *dir;
>{
> static struct {
> int dinode;
> char dname[14];
> } dentry;
> register char *p;
> register int j;
> register struct lbuf *ep;
>
> if (fopen(dir, &inf) < 0) {
> printf("%s unreadable\n", dir);
> return;
> }
> tblocks = 0;
> for(;;) {
> p = &dentry;
> for (j=0; j<16; j++)
> *p++ = getc(&inf);
> if (dentry.dinode==0
> || aflg==0 && dentry.dname[0]=='.')
> continue;
> if (dentry.dinode == -1)
> break;
> ep = gstat(makename(dir, dentry.dname), 0);
> if (ep->lnum != -1)
> ep->lnum = dentry.dinode;
> for (j=0; j<14; j++)
> ep->lname[j] = dentry.dname[j];
> }
> close(inf.fdes);
>}
>
>As an aside, I think this addresses your question/gripe about
>why 'ls' ignored all dot files by default. While the intent
>was to hide '.' and '..', ls(1) simply looked at the first
>byte. I don't think user-created 'dot-files' were common in the v6
>days, and when they did become common, it was _because_ of that
>shortcut in V6 ls(1).
Heh, yeah. It worked fine on PDP-7 Unix, but they broke it on
the -11 in C. Now running `ls -a` is like lifting up the carpet
and finding where all of those fleas biting you have been coming
from....
It is a gripe of mine. I think Rob Pike posted about the origin
on social media somewhere, though.
>It's worth noting that Ken? used "aflg==0" rather than '!aflg' :-)
Ken had some interesting stylistic choices. For instance, he
did a lot of code that looked like this on Plan 9:
if (foo == 0)
if (bar != 0)
if (baz > 2)
something(...);
The first time we ran that through an automated formatter it was
sadness.
- Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-05-13 13:14 +0200 |
| Message-ID | <10u1mfa$1l93l$33@dont-email.me> |
| In reply to | #398824 |
On 2026-05-12 20:45, Scott Lurndal wrote: > cross@spitfire.i.gajendra.net (Dan Cross) writes: >> In article <10tvmp7$23t17$1@dont-email.me>, >> David Brown <david.brown@hesbynett.no> wrote: [...] >>> And it seems to have been written at a time when space characters still >>> cost real money :-) >> >> Heh. They preserved the density of that style in Plan 9, too. > > The code of that era was generally terse. [...] Beyond "C", not as far as my observations go. Janis
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-05-13 13:12 +0200 |
| Message-ID | <10u1mav$1l93k$15@dont-email.me> |
| In reply to | #398823 |
On 2026-05-12 20:09, Dan Cross wrote: > In article <10tvmp7$23t17$1@dont-email.me>, > David Brown <david.brown@hesbynett.no> wrote: >> >> Would you get more signed overflow in practice? And in particular, >> would you get more signed overflow UB in places where you would not have >> a bug in the code anyway. There would certainly be more cases of signed >> integer arithmetic, whereas moving to a common unsigned type means more >> unsigned integer arithmetic. But I don't see signed integer arithmetic >> as a risk of UB in itself - it is only a risk UB if you are working with >> inappropriate values. > > I suspect you would, if only because one of the major motivating > factors for using unsigned arithmetic in practice is to have the > full bit-range of the type available. [...] Hmm.. - I'm using 'unsigned' typically to express the domain of the application values (not to "wrest" some more values out of a type). Janis
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-05-13 14:40 +0000 |
| Message-ID | <10u22gq$ev2$3@reader1.panix.com> |
| In reply to | #398859 |
In article <10u1mav$1l93k$15@dont-email.me>, Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: >On 2026-05-12 20:09, Dan Cross wrote: >> In article <10tvmp7$23t17$1@dont-email.me>, >> David Brown <david.brown@hesbynett.no> wrote: >>> >>> Would you get more signed overflow in practice? And in particular, >>> would you get more signed overflow UB in places where you would not have >>> a bug in the code anyway. There would certainly be more cases of signed >>> integer arithmetic, whereas moving to a common unsigned type means more >>> unsigned integer arithmetic. But I don't see signed integer arithmetic >>> as a risk of UB in itself - it is only a risk UB if you are working with >>> inappropriate values. >> >> I suspect you would, if only because one of the major motivating >> factors for using unsigned arithmetic in practice is to have the >> full bit-range of the type available. [...] > >Hmm.. - I'm using 'unsigned' typically to express the domain of the >application values (not to "wrest" some more values out of a type). It's not about expanding the numeric range. It's about being able to do bit-level manipulation. I often use unsigned types to represent values that are consumed by hardware: device registers, page table entries, addreses of various kinds, etc. Signed semantics in that context are not helpful. Setting the "sign" bit doesn't mean the value is "negative": it just means that that bit is set. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2026-05-14 08:13 -0700 |
| Message-ID | <86lddmhvn1.fsf@linuxsc.com> |
| In reply to | #398859 |
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes: > On 2026-05-12 20:09, Dan Cross wrote: > >> [...] one of the major motivating >> factors for using unsigned arithmetic in practice is to have the >> full bit-range of the type available. [...] > > Hmm.. - I'm using 'unsigned' typically to express the domain of the > application values (not to "wrest" some more values out of a type). I concur. I use unsigned types a lot more often than signed types, and needing an extra one bit of range is almost never a factor.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-05-13 12:41 +0200 |
| Message-ID | <10u1khm$1l93l$32@dont-email.me> |
| In reply to | #398769 |
On 2026-05-11 22:37, David Brown wrote: > [...] > > Perhaps the main "mistake" (where "mistake" means "I personally think C > would be nicer for my own use if things were different") is that when > mixing operations between signed int and unsigned int, the signed int is > converted to unsigned. I suspect that in real-world code, unsigned int > values that are within the range of signed int are common - and that > negative signed int values are more common than unsigned int values that > are out of range of signed int. Any common type here, unless it is > larger than the two original types, is going to get some things wrong - > but I think that converging on signed int as the common type would be > wrong less often. And if that had been the rule, then unsigned- > preserving promotion would be correct too in examples like yours. That all matches with my thoughts about the matter. Janis > [...]
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2026-05-12 18:36 -0700 |
| Message-ID | <867bp8m6ok.fsf@linuxsc.com> |
| In reply to | #398690 |
James Kuyper <jameskuyper@alumni.caltech.edu> writes: > On 2026-05-08 06:43, David Brown wrote: > ... > >> Yes, I have heard that argument before. I am unconvinced that the >> "value preserving" choice actually has any real advantages. I also >> think it is a misnomer - it implies that "unsigned preserving" would >> not preserve values, which is wrong. > > Unsigned-preserving rules would convert a signed value which might be > negative to unsigned type more frequently than the value preserving > rules do. This statement is wrong. An "unsigned preserving" promotion rule converts a signed value to a signed value and an unsigned value to an unsigned value. The value being converted stays the same in both cases. Both an "unsigned preserving" promotion and a so-called "value preserving" promotion preserve the value of the operand being promoted (and converted).
[toc] | [prev] | [next] | [standalone]
Page 16 of 37 — ← Prev page 1 … 14 15 [16] 17 18 … 37 Next page →
Back to top | Article view | comp.lang.c
csiph-web