Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #402647 > unrolled thread
| Started by | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| First post | 2026-10-03 08:43 +0000 |
| Last post | 2026-10-13 23:19 +0100 |
| Articles | 20 on this page of 327 — 21 participants |
Back to article view | Back to comp.lang.c
Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-03 08:43 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 11:24 +0100
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 22:15 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-03 14:22 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-03 18:02 +0200
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:24 +0800
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 17:36 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-03 16:31 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-04 10:23 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 12:18 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:20 +0200
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:34 +0000
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:04 -0700
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:18 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 16:09 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 16:59 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 18:30 +0100
Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-04 19:49 +0100
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 20:35 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 22:27 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 22:47 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 21:59 +0000
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-04 23:38 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:24 +0100
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:48 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 00:11 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 09:49 +0200
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 11:12 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:41 +0200
Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-06 12:33 +0100
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:16 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:37 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 17:27 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-06 23:14 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 01:25 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 04:19 +0000
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-07 06:28 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:39 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 12:57 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:32 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 15:10 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 19:41 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-08 04:49 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-08 12:24 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 09:07 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:49 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 13:11 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 16:17 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:32 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:25 +0200
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:39 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:48 +0200
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 18:12 +0000
[OT] substances (was Re: Taming The Switch-Statement) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:50 +0200
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:06 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:25 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:28 +0200
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-07 15:16 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 16:40 +0200
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 07:24 -0700
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:08 -0700
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 23:45 +0000
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:08 -0700
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:35 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 12:33 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:16 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 16:41 -0700
Re: Taming The Switch-Statement tTh <tth@none.invalid> - 2026-10-06 12:14 +0200
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:43 +0200
Re: Taming The Switch-Statement Jim Jackson <jj@franjam.org.uk> - 2026-10-06 11:47 +0000
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:05 -0700
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-07 00:42 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 13:52 +0100
Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-07 14:06 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 23:31 +0100
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:32 +0000
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 06:07 +0800
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 16:42 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 18:05 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 09:04 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:11 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:40 +0200
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 13:12 -0700
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 00:59 -0700
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 08:16 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:21 -0700
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 04:46 -0700
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:43 +0000
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:36 +0200
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 20:36 -0700
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:20 +0800
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 09:05 -0700
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-04 23:44 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:46 +0100
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 20:48 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-05 06:24 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 11:09 +0100
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:22 +0800
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:26 +0800
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 00:25 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 01:58 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-09 19:17 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 11:53 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 14:01 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 14:11 +0100
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:34 +0800
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:58 +0800
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-10 17:50 +0200
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 05:52 +0000
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:16 +0000
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 23:38 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 11:58 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 14:42 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:39 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 15:35 -0700
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 14:42 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 17:23 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 17:48 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 19:10 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-12 07:01 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 16:41 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:08 +0200
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:02 +0300
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 19:03 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:29 +0300
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 21:55 +0200
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 23:03 +0300
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 22:33 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:53 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:16 +0200
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-11 15:29 +0000
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-10 15:30 -0700
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 22:58 +0000
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:09 +0800
Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-11 10:14 +0000
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:12 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:58 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:32 -0700
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-11 01:58 +0300
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 01:43 +0100
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:12 +0800
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 04:07 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 20:13 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:36 +0200
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 14:22 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 15:00 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-17 01:29 +0200
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-17 19:39 +0300
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-17 18:23 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-17 17:36 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-17 21:03 +0300
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-17 10:30 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-17 10:54 -0700
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 04:26 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 13:35 +0100
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 06:13 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:51 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 15:33 +0200
Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-11 09:01 -0700
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 19:17 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 18:57 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:28 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:02 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 16:29 -0700
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-12 04:03 -0700
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-12 22:02 +0300
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 21:09 +0200
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-12 22:31 +0300
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-12 22:32 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 22:05 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 23:14 +0200
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-13 07:23 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 12:12 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:26 +0100
Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-13 12:10 +0100
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 06:55 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 13:33 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 13:41 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 14:38 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 18:04 +0200
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 20:52 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 22:24 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-14 00:03 +0200
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 10:53 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-14 17:54 +0200
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:48 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:16 +0100
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-13 21:54 +0000
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-16 15:24 +0000
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-16 21:42 +0000
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-16 21:46 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 15:03 -0700
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 07:40 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 16:46 +0100
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 09:10 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 18:15 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:27 -0700
Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-14 01:50 +0000
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 10:58 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 22:54 +0300
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 16:45 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:34 -0700
Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-14 05:17 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 13:46 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:05 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 14:37 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:12 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 16:32 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 19:05 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 19:15 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:43 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:45 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 23:46 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 00:56 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:58 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 20:38 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 19:52 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-12 22:56 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 21:57 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 21:21 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 22:46 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-13 09:27 +0200
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 12:18 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:33 +0100
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 00:25 +0300
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 22:20 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 17:02 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 01:53 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 03:54 +0200
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 10:52 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 23:16 +0300
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:44 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 17:33 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 00:21 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 20:40 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 03:59 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 21:35 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 11:27 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 12:17 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 12:38 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 16:49 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:30 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-14 23:28 +0300
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-14 21:30 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 21:56 +0100
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 21:59 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 01:26 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 12:01 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 11:45 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 15:57 +0100
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 18:10 +0100
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-16 02:42 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 20:42 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-15 23:57 +0300
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 23:22 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-16 12:40 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-17 00:01 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 16:53 -0700
Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-17 11:09 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-17 13:11 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-17 15:15 +0200
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-17 08:34 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-17 03:19 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-17 12:34 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-17 17:58 +0000
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-15 05:17 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 14:37 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-15 20:50 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 19:59 +0100
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 20:49 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 18:51 +0100
Re: Taming The Switch-Statement "Peyton" <peyton@solacium.com> - 2026-10-14 11:04 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:47 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-14 13:58 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-15 12:08 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-14 14:23 -0700
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-14 14:35 +0000
Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 03:36 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:38 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:09 +0100
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:14 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 23:01 +0100
Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 08:00 +0000
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:27 +0200
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:49 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:30 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 02:12 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 19:55 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 11:00 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 12:21 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:04 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:05 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:22 +0200
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 11:42 +0100
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:15 +0200
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 14:34 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 16:47 +0100
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-13 00:15 +0800
Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-12 17:02 +0000
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-13 20:04 +0800
Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-13 17:28 +0000
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-14 02:05 +0800
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 17:17 +0000
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:37 +0000
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:34 +0000
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 18:46 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 19:52 +0100
Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 19:42 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:29 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 00:53 +0100
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 18:14 -0700
Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 22:35 +0000
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:14 -0700
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 22:36 +0100
Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-10 13:14 +0000
Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 19:50 +0300
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:13 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:54 -0700
Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:41 +0200
Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:51 +0800
Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 11:41 +0200
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:44 -0700
Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:56 -0700
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:26 +0000
Re: Taming The Switch-Statement Jon Ribbens <jon+usenet@unequivocal.eu> - 2026-10-11 22:12 +0000
Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-13 22:00 +0000
Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 23:19 +0100
Page 7 of 17 — ← Prev page 1 … 5 6 [7] 8 9 … 17 Next page →
| From | bart <bc@freeuk.com> |
|---|---|
| Date | 2026-10-11 16:41 +0100 |
| Message-ID | <11aganl$2oslb$1@dont-email.me> |
| In reply to | #402971 |
On 11/10/2026 11:58, bart wrote:
> On 10/10/2026 16:50, David Brown wrote:
> This is the core C code for Duff's Device from Wikipedia:
>
> switch (count % 8) {
> case 0: *to = *from++;
> case 7: *to = *from++;
> case 6: *to = *from++;
> case 5: *to = *from++;
> case 4: *to = *from++;
> case 3: *to = *from++;
> case 2: *to = *from++;
> case 1: *to = *from++;
> }
>
> This is the emulation of it in my language ('to' is a reserved word, and
> that constuct is 1-based):
>
> goto (count rem 8| L1, L2, L3, L4, L5, L6, L7 | L0)
>
> L0: d^ := s++^
> L7: d^ := s++^
> L6: d^ := s++^
> L5: d^ := s++^
> L4: d^ := s++^
> L3: d^ := s++^
> L2: d^ := s++^
> L1: d^ := s++^
>
> Those labels need to be unique, but probably you won't need more than
> one Duff's Device in any one function.
Here is it in my language after 10 minutes' work to create a
fall-through version of my switch:
switchf count rem 8
when 0 then d^ := s++^
when 7 then d^ := s++^
when 6 then d^ := s++^
when 5 then d^ := s++^
when 4 then d^ := s++^
when 3 then d^ := s++^
when 2 then d^ := s++^
when 1 then d^ := s++^
end
It remains properly structured, but the block order is now important.
The feature will not be kept.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-10-10 20:08 +0200 |
| Message-ID | <11aduuk$cjlv$1@dont-email.me> |
| In reply to | #402875 |
On 2026-10-10 15:11, bart wrote:
> On 10/10/2026 13:01, Janis Papanagnou wrote:
>>[...]
>
> I forgot the A68 version wasn't quite the same. But both will have a
> properly structured form, where the aim is execute one of N possible
> blocks.
N(+1), yes. (And not "blocks", but that's a detail.)
> After executing that block, control escapes the enclosing statement.
Unless other things happen, yes.
>
> The C aim is to pass control to one of N possible locations, but there
> are virtually no rules about where those locations can be within the
> statement following 'switch()', and it doesn't care what happens from
> then on.
Yes, that's quite a mess (IMO), but that is how it's got designed.
>
>> I think the problem with your statement is also that you think your
>> preferred construct is the only one that is "right". (You seem to
>> be confident that supporting "fall-though" is generally "wrong".)
>
> Yes. Why, you think that fall-through is right AND should be the default
> behaviour?
But I don't think so and haven't made any such claim.
I expressed that your view of what is "right" or "wrong" is futile,
it makes no sense, and is not more than an opinion.
I explained that lacking the features makes it necessary to emulate
it where needed. (That's an annoyance for those that want it.)
>
> If you look at actual C codebases, fall-through is incredibly rare.
> Nearly always, it will use break, or sometimes other control-flow such
> as return or goto, so that fall-through doesn't happen.
I have no representative statistics, but my impression also matches
that; fall-through is certainly much rarer than the 'break' case.
In 6 C-sources in some of my directories I have 30 'switch' statements
(some nested on more than one level), and in two cases fall-throughs.
In another (non-C) place I find 40+ fall-throughs. - Not predominantly,
but it's certainly not only an exotic corner-case! - So there's reason
to support it, best without clumsy surrogate-constructs (workarounds).
>
> Note that if-statement blocks don't have fall-through either when there
> is an else branch.
>
> Imagine having to write this: [...]
(Slow down, cool down your brain! - It makes no sense to speak about
fall-throughs in contexts of 'if' constructs. Making up inappropriate
comparisons never lead you anywhere; I firmly suggest to try to stop
that, as to not again get another thread stray and out of focus.)
>
> I guess everyone would still defend that choice (because for one person
> in a million it will be valuable feature). But it is CLEARLY wrong.
Sadly you show again and confirm that it's just *you* who speaks about
"right" or "wrong" (even "clearly"), and again fall into the habit to
speak for or at least make wild guesses about "everyone".
I've shown above that I'm obviously regularly using it - and before my
post I didn't even know that fact, so it's nothing about "defending"
anything. And I've got not yet any indication - i.e. before your own
personal complaints about it - that only "one person / million" would
make good use of that feature; that's also completely implausible, and
there's many facts that support this opinion (e.g. people talking about
it, being part of coding standards, reading various explanations about
it as being a "*concept* in programming", etc.).
(Your opinions don't reflect the world, but rather just your personal
vicinity - which I fear isn't even more than the personal small bubble
you reside in.)
>
>> Just imagine if some C-programmers wanted a fall-through semantics
>> but all they got would be the Pascal or Algol 68 'case' construct.
>
> Well, Algol 68 doesn't even have 'break'. For unusual control-flow it
> needs goto.
Yes. - And while "C" has 'goto' as well it also supports 'break' for
some purposes; e.g. as a loop-exit, so it makes sense to reuse that
keyword for other purposes as in 'switch' where it's been useful.
(Somewhere you thematized whether fall-through should be the default
behavior of 'switch'; for me it would make as much sense to switch
roles of the defaults in C's 'switch' to make the more common case
terser, or have explicit statements for both branch-behaviors types.
Actually I don't care much; there's more important things here that
I'd find noteworthy; see below.)
>
> I don't have fall-through either; it is just so rare. But I do have a
> 'recase' statement to pass control to an /arbitrary/ block, not just the
> one that happens to follow.
(I'm not interested in your language.)
> This way, BLOCKS CAN BE REORDERED without changing behaviour.
Fine for you.
>
> This is an important point: a switch statement where every case block
> ends with 'break', can have those case blocks appear in any order. Or
> new ones can be inserted anywhere. Blocks commented out, deleted etc etc.
>
> But that all goes out the window as soon as fall-through is used.
I understand that it interferes with some of your design decisions.
>> [...]
>
> The kind of structured switch I favour is still low level! After all it
> basically a jump.
Well, I certainly favor sensible _abstractions_ to low-level jumps.
(Ideally the abstract language concepts are efficiently representable
by the processors; I like the basic Pascal design in that respect.)
>
> It is not the structural or parametric kind of pattern matching you find
> in Rust etc.
(I don't know Rust.)
>
> But C's switch is just /too/ low-level. For example, a structured switch
> could be easily transformed into an if-else chain.
>
> You can't do that in general with C switch because there IS no
> structure; it can be totally chaotic.
I recall, the disappointment I had with C's 'switch' was that it didn't
support "strings" as tags.[*] - But so what? Noting that as impossible
and carrying on, either with workarounds ('if' cascades) or switching
the language (if appropriate, possible, and worthwhile).
Janis
[*] In the GNU version of Awk - a much simpler but higher abstracted
language - you can nicely compare strings, and even regexps.
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2026-10-10 22:02 +0300 |
| Message-ID | <20261010220212.000063fd@yahoo.com> |
| In reply to | #402887 |
On Sat, 10 Oct 2026 20:08:20 +0200 Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > On 2026-10-10 15:11, bart wrote: > > > > Well, Algol 68 doesn't even have 'break'. For unusual control-flow > > it needs goto. > > Yes. - And while "C" has 'goto' as well it also supports 'break' for > some purposes; e.g. as a loop-exit, so it makes sense to reuse that > keyword for other purposes as in 'switch' where it's been useful. > After practicing C programming for more than 35 years I am deeply convinced that reuse of the same 'break' keyword for loops and for switch was a mistake. But then again, DRM did not have a benefit of hindsight.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-10-10 19:03 +0000 |
| Message-ID | <11ae26v$obj$1@reader2.panix.com> |
| In reply to | #402890 |
In article <20261010220212.000063fd@yahoo.com>, Michael S <already5chosen@yahoo.com> wrote: >On Sat, 10 Oct 2026 20:08:20 +0200 >Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > >> On 2026-10-10 15:11, bart wrote: >> > >> > Well, Algol 68 doesn't even have 'break'. For unusual control-flow >> > it needs goto. >> >> Yes. - And while "C" has 'goto' as well it also supports 'break' for >> some purposes; e.g. as a loop-exit, so it makes sense to reuse that >> keyword for other purposes as in 'switch' where it's been useful. >> > >After practicing C programming for more than 35 years I am deeply >convinced that reuse of the same 'break' keyword for loops and for >switch was a mistake. But then again, DRM did not have a benefit >of hindsight. Perhaps you mean "DMR", aka, Dennis Ritchie. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2026-10-10 22:29 +0300 |
| Message-ID | <20261010222949.00002c96@yahoo.com> |
| In reply to | #402891 |
On Sat, 10 Oct 2026 19:03:59 -0000 (UTC) cross@spitfire.i.gajendra.net (Dan Cross) wrote: > In article <20261010220212.000063fd@yahoo.com>, > Michael S <already5chosen@yahoo.com> wrote: > >On Sat, 10 Oct 2026 20:08:20 +0200 > >Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > > > >> On 2026-10-10 15:11, bart wrote: > >> > > >> > Well, Algol 68 doesn't even have 'break'. For unusual > >> > control-flow it needs goto. > >> > >> Yes. - And while "C" has 'goto' as well it also supports 'break' > >> for some purposes; e.g. as a loop-exit, so it makes sense to reuse > >> that keyword for other purposes as in 'switch' where it's been > >> useful. > > > >After practicing C programming for more than 35 years I am deeply > >convinced that reuse of the same 'break' keyword for loops and for > >switch was a mistake. But then again, DRM did not have a benefit > >of hindsight. > > Perhaps you mean "DMR", aka, Dennis Ritchie. > > - Dan C. > Yes, thank you.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-10-10 21:55 +0200 |
| Message-ID | <11ae56o$cjlv$4@dont-email.me> |
| In reply to | #402890 |
On 2026-10-10 21:02, Michael S wrote: > On Sat, 10 Oct 2026 20:08:20 +0200 > Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > >> Yes. - And while "C" has 'goto' as well it also supports 'break' for >> some purposes; e.g. as a loop-exit, so it makes sense to reuse that >> keyword for other purposes as in 'switch' where it's been useful. > > After practicing C programming for more than 35 years I am deeply > convinced that reuse of the same 'break' keyword for loops and for > switch was a mistake. [...] Well, I think the principal design criticism that bart made had a stronger impact on the "C" language design than the profane re-use of the 'break' keyword. My impression is that most languages try to minimize the amount of keywords. (The extreme scarcity of keywords in "C" and the syntactical consequences is actually something I rather don't really like with C-like languages.) But I got curious about what your concrete reasons for that deeply conviction are; in which way was it a "mistake"? Janis
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2026-10-10 23:03 +0300 |
| Message-ID | <20261010230355.00005189@yahoo.com> |
| In reply to | #402895 |
On Sat, 10 Oct 2026 21:55:04 +0200 Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > On 2026-10-10 21:02, Michael S wrote: > > On Sat, 10 Oct 2026 20:08:20 +0200 > > Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > > > >> Yes. - And while "C" has 'goto' as well it also supports 'break' > >> for some purposes; e.g. as a loop-exit, so it makes sense to reuse > >> that keyword for other purposes as in 'switch' where it's been > >> useful. > > > > After practicing C programming for more than 35 years I am deeply > > convinced that reuse of the same 'break' keyword for loops and for > > switch was a mistake. [...] > > Well, I think the principal design criticism that bart made had a > stronger impact on the "C" language design than the profane re-use > of the 'break' keyword. My impression is that most languages try to > minimize the amount of keywords. (The extreme scarcity of keywords > in "C" and the syntactical consequences is actually something I > rather don't really like with C-like languages.) > > But I got curious about what your concrete reasons for that deeply > conviction are; in which way was it a "mistake"? > > Janis > The cases where I want to break out of the loop from the switch in the body of the loop are very common.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-10-10 22:33 +0200 |
| Message-ID | <11ae7eb$cjlv$6@dont-email.me> |
| In reply to | #402897 |
On 2026-10-10 22:03, Michael S wrote: > > The cases where I want to break out of the loop from the switch in the > body of the loop are very common. Ah, so you'd have needed something like Kornshell's 'break 2' to leave more than one level. - I suppose, you needed to used a 'goto' instead (and avoid the 'break' completely for those cases). Janis
[toc] | [prev] | [next] | [standalone]
| From | bart <bc@freeuk.com> |
|---|---|
| Date | 2026-10-10 21:53 +0100 |
| Message-ID | <11ae8k3$2302a$1@dont-email.me> |
| In reply to | #402905 |
On 10/10/2026 21:33, Janis Papanagnou wrote: > On 2026-10-10 22:03, Michael S wrote: >> >> The cases where I want to break out of the loop from the switch in the >> body of the loop are very common. > > Ah, so you'd have needed something like Kornshell's 'break 2' to leave > more than one level. - I suppose, you needed to used a 'goto' instead > (and avoid the 'break' completely for those cases). No, there is only one level of loop here. But you can't use 'break' because it is doing double duty as a hack to get out of the middle of a switch statement.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-10-10 23:16 +0200 |
| Message-ID | <11aea06$cjm0$6@dont-email.me> |
| In reply to | #402907 |
On 2026-10-10 22:53, bart wrote: > On 10/10/2026 21:33, Janis Papanagnou wrote: >> On 2026-10-10 22:03, Michael S wrote: >>> >>> The cases where I want to break out of the loop from the switch in the >>> body of the loop are very common. >> >> Ah, so you'd have needed something like Kornshell's 'break 2' to leave >> more than one level. - I suppose, you needed to used a 'goto' instead >> (and avoid the 'break' completely for those cases). > No, there is only one level of loop here. But you can't use 'break' > because it is doing double duty as a hack to get out of the middle of a > switch statement. Re-read my post and try to understand what I wrote. - Good luck! Janis
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2026-10-11 15:29 +0000 |
| Message-ID | <nXNyS.252602$ITPb.192320@fx05.iad> |
| In reply to | #402907 |
bart <bc@freeuk.com> writes: >On 10/10/2026 21:33, Janis Papanagnou wrote: >> On 2026-10-10 22:03, Michael S wrote: >>> >>> The cases where I want to break out of the loop from the switch in the >>> body of the loop are very common. >> >> Ah, so you'd have needed something like Kornshell's 'break 2' to leave >> more than one level. - I suppose, you needed to used a 'goto' instead >> (and avoid the 'break' completely for those cases). >No, there is only one level of loop here. But you can't use 'break' >because it is doing double duty as a hack to get out of the middle of a >switch statement. > Burroughs BPL68 had EXITBLOCK, EXITCOND, EXITLOOP and EXITCASE as mechanisms to break from nested loops, conditionals and case (switch) statements.
[toc] | [prev] | [next] | [standalone]
| From | Andrey Tarasevich <noone@noone.net> |
|---|---|
| Date | 2026-10-10 15:30 -0700 |
| Message-ID | <11aeeau$24vgh$1@dont-email.me> |
| In reply to | #402905 |
On Sat 10/10/2026 1:33 PM, Janis Papanagnou wrote: > On 2026-10-10 22:03, Michael S wrote: >> >> The cases where I want to break out of the loop from the switch in the >> body of the loop are very common. > > Ah, so you'd have needed something like Kornshell's 'break 2' to leave > more than one level. Yes, but that would be rather inelegant in the overall scheme of things in C, since once we start talking about `break 2` it would be logical to consider `continue 2` as well (i.e. like Kornshell's `continue`). But `break` and `continue` behave differently inside `switch` in C: the former can "see" the enveloping `switch` statements, while for the latter all enveloping `switch` statements are completely transparent. So, in order to refer to the same cycle one'd have to use different nesting numbers in `break` and `continue` when used inside `switch`(-es) in C. That would look quite confusing. -- Best regards, Andrey
[toc] | [prev] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-10-10 22:58 +0000 |
| Message-ID | <11aefu7$254m6$1@dont-email.me> |
| In reply to | #402918 |
On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote:
> But `break` and `continue` behave differently inside `switch` in C:
> the former can "see" the enveloping `switch` statements, while for
> the latter all enveloping `switch` statements are completely
> transparent. So, in order to refer to the same cycle one'd have to
> use different nesting numbers in `break` and `continue` when used
> inside `switch`(-es) in C. That would look quite confusing.
It also led to a major real-world calamity: the Great AT&T Telephone
Crash of 15th January 1990. To quote from Bruce Sterling’s “The Hacker
Crackdown”:
As it happened, the problem itself -- the problem per se -- took
this form. A piece of telco software had been written in C
language, a standard language of the telco field. Within the C
software was a long "do... while" construct. The "do... while"
construct contained a "switch" statement. The "switch" statement
contained an "if" clause. The "if" clause contained a "break." The
"break" was *supposed* to "break" the "if clause." Instead, the
"break" broke the "switch" statement.
Back at the time, law enforcement was just cottoning on to the idea
that evil people could use their technical skills with computers to
wreak havoc with all kinds of crucial infrastructure. AT&T figured
out, within nine hours, that the problem here was purely a mistake in
their software, but it took somewhat longer for some authorities to be
disabused of the notion that this was intentional sabotage.
<http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/>
[toc] | [prev] | [next] | [standalone]
| From | Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> |
|---|---|
| Date | 2026-10-11 09:09 +0800 |
| Message-ID | <FlByS.11178$mPXe.3035@fx06.ams4> |
| In reply to | #402921 |
On 10/11/2026 6:58 AM, Lawrence D’Oliveiro wrote: > On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote: > >> But `break` and `continue` behave differently inside `switch` in C: >> the former can "see" the enveloping `switch` statements, while for >> the latter all enveloping `switch` statements are completely >> transparent. So, in order to refer to the same cycle one'd have to >> use different nesting numbers in `break` and `continue` when used >> inside `switch`(-es) in C. That would look quite confusing. > > It also led to a major real-world calamity: the Great AT&T Telephone > Crash of 15th January 1990. To quote from Bruce Sterling’s “The Hacker > Crackdown”: > > As it happened, the problem itself -- the problem per se -- took > this form. A piece of telco software had been written in C > language, a standard language of the telco field. Within the C > software was a long "do... while" construct. The "do... while" > construct contained a "switch" statement. The "switch" statement > contained an "if" clause. The "if" clause contained a "break." The > "break" was *supposed* to "break" the "if clause." Instead, the > "break" broke the "switch" statement. > > Back at the time, law enforcement was just cottoning on to the idea > that evil people could use their technical skills with computers to > wreak havoc with all kinds of crucial infrastructure. AT&T figured > out, within nine hours, that the problem here was purely a mistake in > their software, but it took somewhat longer for some authorities to be > disabused of the notion that this was intentional sabotage. > > <http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/> I don't see this as a problem with C. This can happen in any program- ming language, and code with nested control structures. And if I recall correctly, you can't use /break/ with a label inside a switch in Java -- please correct me if I'm wrong, I'm feeling lazy to check it out right now -- which results in similar shenanigans and po- tentially even more convoluted control structures. So, Lawrence, please enlighten us about how you concoct convoluted con- trol structures in Python, because that's what you live for. Best wishes, and happy convolution inside control structures in C! -- Johann | email: invalid -> com | http://www.myrkraverk.com/blog/ I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:; Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social
[toc] | [prev] | [next] | [standalone]
| From | ram@zedat.fu-berlin.de (Stefan Ram) |
|---|---|
| Date | 2026-10-11 10:14 +0000 |
| Message-ID | <break-20261011111215@ram.dialup.fu-berlin.de> |
| In reply to | #402928 |
Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote or quoted:
>I don't see this as a problem with C. This can happen in any program-
>ming language, and code with nested control structures.
I agree. Assuming a "break" will leave an "if" in C is an error
of someone who has not learned C yet and who also did not bother
to look up what he does not know or test his code. And it can
perfectly be reproduced in other languages such as Python:
main.py
while True:
if True:
break # leave the "if"
print( "Success: If was left." )
print( "Failure: While was left." )
output
Failure: While was left.
.
[toc] | [prev] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-10-11 21:12 +0000 |
| Message-ID | <11agu3m$30k5e$3@dont-email.me> |
| In reply to | #402964 |
On 11 Oct 2026 10:14:15 GMT, Stefan Ram wrote: > On Sat, 10 Oct 2026 22:58:15 -0000 (UTC), Lawrence D’Oliveiro wrote: > >> On Sat, 10 Oct 2026 15:30:54 -0700, Andrey Tarasevich wrote: >> >>> But `break` and `continue` behave differently inside `switch` in >>> C: the former can "see" the enveloping `switch` statements, while >>> for the latter all enveloping `switch` statements are completely >>> transparent. So, in order to refer to the same cycle one'd have to >>> use different nesting numbers in `break` and `continue` when used >>> inside `switch`(-es) in C. That would look quite confusing. >> >> It also led to a major real-world calamity: the Great AT&T >> Telephone Crash of 15th January 1990. To quote from Bruce >> Sterling’s “The Hacker Crackdown”: >> >> As it happened, the problem itself -- the problem per se -- >> took this form. A piece of telco software had been written in C >> language, a standard language of the telco field. Within the C >> software was a long "do... while" construct. The "do... while" >> construct contained a "switch" statement. The "switch" >> statement contained an "if" clause. The "if" clause contained a >> "break." The "break" was *supposed* to "break" the "if clause." >> Instead, the "break" broke the "switch" statement. >> >> Back at the time, law enforcement was just cottoning on to the idea >> that evil people could use their technical skills with computers to >> wreak havoc with all kinds of crucial infrastructure. AT&T figured >> out, within nine hours, that the problem here was purely a mistake >> in their software, but it took somewhat longer for some authorities >> to be disabused of the notion that this was intentional sabotage. >> >> <http://web.archive.org/web/20031204221934/www.chriswaltrip.com/sterling/> > > Assuming a "break" will leave an "if" in C is an error of someone > who has not learned C yet ... These were C experts -- they were software engineers working at AT&T after all. Bear in mind Bruce Sterling is not a C expert, or even a programming expert. I have looked at several descriptions of the nature of the bug, and I couldn’t find any (to link to) that were any better than his. The most natural interpretation I can think of is that the break statement wasn’t supposed to cut short the if-statement as such; it was meant to terminate a surrounding loop. That would have worked, except that this particular break-statement was inside a switch-statement in that loop, so all it did was cut short the switch-statement. I think the surrounding loop was then left to repeat endlessly without reaching any exit condition, which was the cause of the failure.
[toc] | [prev] | [next] | [standalone]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2026-10-11 03:58 +0200 |
| Message-ID | <11aeqfh$286mm$1@dont-email.me> |
| In reply to | #402918 |
On 2026-10-11 00:30, Andrey Tarasevich wrote: > On Sat 10/10/2026 1:33 PM, Janis Papanagnou wrote: >> On 2026-10-10 22:03, Michael S wrote: >>> >>> The cases where I want to break out of the loop from the switch in the >>> body of the loop are very common. >> >> Ah, so you'd have needed something like Kornshell's 'break 2' to leave >> more than one level. > > Yes, but that would be rather inelegant in the overall scheme of things > in C, since once we start talking about `break 2` it would be logical to > consider `continue 2` as well (i.e. like Kornshell's `continue`). > > But `break` and `continue` behave differently inside `switch` in C: the > former can "see" the enveloping `switch` statements, while for the > latter all enveloping `switch` statements are completely transparent. > So, in order to refer to the same cycle one'd have to use different > nesting numbers in `break` and `continue` when used inside `switch`(-es) > in C. That would look quite confusing. Personally I don't like jumps in programming at all, but sometimes a break is clearer than embedding a boolean into a surrounding control structure and keeping explicitly track of the exit state value. Even less I like a 'goto'; the one case where I find it worthwhile, to jump from within nested loops to the continuation point after the nested loops, is not something I like, but I also only very rarely needed it and I wouldn't mind using it. Similar with the 'break N' and 'continue N' in Kornshell; I would be surprised if I had used it more than once or at most twice in decades. - I'm generally using what the languages provide and what is best maintainable. - As I see it there's no single perfect way how to address that issue. YMMV. Janis
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Date | 2026-10-10 15:32 -0700 |
| Message-ID | <11aeee0$24k8m$1@kst.eternal-september.org> |
| In reply to | #402905 |
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
> On 2026-10-10 22:03, Michael S wrote:
>> The cases where I want to break out of the loop from the switch in
>> the
>> body of the loop are very common.
>
> Ah, so you'd have needed something like Kornshell's 'break 2' to leave
> more than one level. - I suppose, you needed to used a 'goto' instead
> (and avoid the 'break' completely for those cases).
Something like that, sure, but please not that.
Specifying the *number* of levels to break or continue is IMHO
horrible. "break N" makes me count things so the computer doesn't
have to.
There are proposals, and precedents in other languages, for *named*
loops, and I'd like to see that in a future C.
--
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 | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2026-10-11 01:58 +0300 |
| Message-ID | <20261011015833.00004d29@yahoo.com> |
| In reply to | #402919 |
On Sat, 10 Oct 2026 15:32:32 -0700 Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote: > Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes: > > On 2026-10-10 22:03, Michael S wrote: > >> The cases where I want to break out of the loop from the switch in > >> the > >> body of the loop are very common. > > > > Ah, so you'd have needed something like Kornshell's 'break 2' to > > leave more than one level. - I suppose, you needed to used a 'goto' > > instead (and avoid the 'break' completely for those cases). > > Something like that, sure, but please not that. > > Specifying the *number* of levels to break or continue is IMHO > horrible. "break N" makes me count things so the computer doesn't > have to. > > There are proposals, and precedents in other languages, for *named* > loops, and I'd like to see that in a future C. > Yes. Break n is a maintanance nightmare. Ada syntax (optional label before loop) is a lot better.
[toc] | [prev] | [next] | [standalone]
| From | bart <bc@freeuk.com> |
|---|---|
| Date | 2026-10-11 01:43 +0100 |
| Message-ID | <11aem49$27di1$1@dont-email.me> |
| In reply to | #402922 |
On 10/10/2026 23:58, Michael S wrote: > On Sat, 10 Oct 2026 15:32:32 -0700 > Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote: > >> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes: >>> On 2026-10-10 22:03, Michael S wrote: >>>> The cases where I want to break out of the loop from the switch in >>>> the >>>> body of the loop are very common. >>> >>> Ah, so you'd have needed something like Kornshell's 'break 2' to >>> leave more than one level. - I suppose, you needed to used a 'goto' >>> instead (and avoid the 'break' completely for those cases). >> >> Something like that, sure, but please not that. >> >> Specifying the *number* of levels to break or continue is IMHO >> horrible. "break N" makes me count things so the computer doesn't >> have to. >> >> There are proposals, and precedents in other languages, for *named* >> loops, and I'd like to see that in a future C. >> > > Yes. Break n is a maintanance nightmare. I use numbered loops (in my syntaxes). At the same time, I don't, since breaking across nested versions is uncommon. But when needed, then invariably it will be the outermost loop, which also has the loop index '0', which be written 'all'. > Ada syntax (optional label before loop) is a lot better. Actually it makes little difference, maintenance-wise. Both absolute references to loops (labels) and relative references (indices) have complementary set of problems, when loops are added or inserted or removed. But as I said the most common requirement IME is to break out of either the current loop, or the whole lot.
[toc] | [prev] | [next] | [standalone]
Page 7 of 17 — ← Prev page 1 … 5 6 [7] 8 9 … 17 Next page →
Back to top | Article view | comp.lang.c
csiph-web