Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #133735 > unrolled thread
| Started by | skybuck2000@hotmail.com |
|---|---|
| First post | 2018-08-13 12:53 -0700 |
| Last post | 2018-10-10 18:24 -0700 |
| Articles | 20 on this page of 354 — 27 participants |
Back to article view | Back to comp.lang.c
>< swap operator skybuck2000@hotmail.com - 2018-08-13 12:53 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-08-13 16:05 -0400
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-13 13:46 -0700
Re: >< swap operator Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-08-14 11:19 +0300
Re: >< swap operator skybuck2000@hotmail.com - 2018-08-14 06:16 -0700
Re: >< swap operator bart4858@gmail.com - 2018-08-14 07:50 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-08-14 16:59 +0200
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-08-14 10:46 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-08-14 20:03 +0200
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-08-14 11:37 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-08-14 21:16 +0200
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-14 11:32 -0700
Re: >< swap operator bart4858@gmail.com - 2018-08-14 16:24 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-08-15 11:32 +0200
Re: >< swap operator skybuck2000@hotmail.com - 2018-10-01 07:46 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 05:20 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 13:58 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 14:08 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 09:16 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-02 15:35 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 09:43 -0400
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 10:51 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 09:08 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 15:26 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 10:52 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 17:57 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 13:27 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 11:52 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 20:48 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 15:56 -0400
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-10-02 13:05 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 13:26 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 21:36 +0100
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 13:47 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 11:14 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 16:37 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 22:02 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 17:16 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 11:25 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-03 10:52 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 14:29 +0200
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-03 05:52 -0700
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 21:31 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 16:47 -0400
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 03:43 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 22:47 -0400
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 04:25 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 20:44 -0700
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 11:53 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 05:15 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-04 13:48 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 10:56 -0400
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 17:47 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 11:01 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-04 22:15 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 16:19 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-04 21:42 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 15:01 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-04 23:59 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 09:54 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 18:03 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 21:08 +0200
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-05 20:31 +0100
Re: >< swap operator Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-10-05 15:59 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 21:18 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 03:51 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-06 12:19 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 19:49 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-07 12:25 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-07 14:19 +0100
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-07 06:56 -0700
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-07 16:30 +0100
Re: >< swap operator Wouter Verhelst <w@uter.be> - 2018-10-09 13:17 +0200
C idioms (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 13:07 +0000
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-09 14:27 +0100
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-10 00:05 +0100
Re: C idioms Bart <bc@freeuk.com> - 2018-10-10 02:03 +0100
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-11 01:05 +0100
Re: C idioms Bart <bc@freeuk.com> - 2018-10-11 02:09 +0100
Re: C idioms Bart <bc@freeuk.com> - 2018-10-11 12:39 +0100
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-11 16:24 +0100
Re: C idioms scott@slp53.sl.home (Scott Lurndal) - 2018-10-11 15:55 +0000
Re: C idioms Keith Thompson <kst-u@mib.org> - 2018-10-11 09:42 -0700
Re: C idioms Wouter Verhelst <w@uter.be> - 2018-10-11 19:23 +0200
Re: C idioms jameskuyper@alumni.caltech.edu - 2018-10-11 11:11 -0700
Re: C idioms Keith Thompson <kst-u@mib.org> - 2018-10-11 12:05 -0700
Re: C idioms Bart <bc@freeuk.com> - 2018-10-11 17:53 +0100
Re: C idioms Keith Thompson <kst-u@mib.org> - 2018-10-11 10:38 -0700
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-12 00:14 +0100
Re: C idioms Bart <bc@freeuk.com> - 2018-10-11 19:26 +0100
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-09 16:38 +0200
Re: C idioms (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 15:23 +0000
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-09 20:31 +0200
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-09 20:18 +0100
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-09 22:11 +0200
Re: C idioms (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-09 20:50 +0000
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-09 22:58 +0200
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-09 22:34 +0100
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 08:10 +0200
Re: C idioms (Was: >< swap operator) jameskuyper@alumni.caltech.edu - 2018-10-09 14:45 -0700
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 08:07 +0200
Hmmm... (Was: C idioms (Was: >< swap operator)) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 07:56 +0000
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) David Brown <david.brown@hesbynett.no> - 2018-10-10 10:32 +0200
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) Ike Naar <ike@iceland.freeshell.org> - 2018-10-10 13:44 +0000
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 14:52 +0000
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) Wouter Verhelst <w@uter.be> - 2018-10-10 17:47 +0200
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) David Brown <david.brown@hesbynett.no> - 2018-10-10 17:18 +0200
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 15:22 +0000
Re: Hmmm... (Was: C idioms (Was: >< swap operator)) David Brown <david.brown@hesbynett.no> - 2018-10-10 23:58 +0200
Re: Hmmm... Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-10 07:51 -0600
Re: Hmmm... gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 14:53 +0000
Re: Hmmm... David Brown <david.brown@hesbynett.no> - 2018-10-10 17:21 +0200
Re: C idioms (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 12:57 +0000
Re: C idioms (Was: >< swap operator) James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-10-10 12:29 -0400
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-11 00:07 +0200
Re: C idioms (Was: >< swap operator) Keith Thompson <kst-u@mib.org> - 2018-10-09 14:50 -0700
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 08:13 +0200
Re: C idioms (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 12:56 +0000
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 15:55 +0200
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-10 15:17 +0100
Re: C idioms (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 14:49 +0000
Fall-through in switch statements... (Was: C idioms (Was: >< swap operator)) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 14:59 +0000
Re: Fall-through in switch statements... (Was: C idioms (Was: >< swap operator)) Bart <bc@freeuk.com> - 2018-10-10 16:09 +0100
Re: Fall-through in switch statements... (Was: C idioms (Was: >< swap operator)) nobody@example.org (Scott) - 2018-10-10 17:29 +0000
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-10 16:01 +0100
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 17:29 +0200
Re: C idioms (Was: >< swap operator) Wouter Verhelst <w@uter.be> - 2018-10-10 17:55 +0200
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-10 17:11 +0100
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-10 23:15 +0100
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-11 00:16 +0200
Re: C idioms (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-10 23:23 +0100
Re: C idioms (Was: >< swap operator) Keith Thompson <kst-u@mib.org> - 2018-10-10 16:31 -0700
Re: C idioms (Was: >< swap operator) Keith Thompson <kst-u@mib.org> - 2018-10-10 15:32 -0700
Re: C idioms (Was: >< swap operator) Keith Thompson <kst-u@mib.org> - 2018-10-10 16:24 -0700
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-11 10:52 +0200
Re: C idioms Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-10 09:59 -0600
Re: C idioms (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-10 17:26 +0200
Re: C idioms (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 14:48 +0000
Return values of fork() (Was: C idioms (Was: >< swap operator)) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 14:51 +0000
Re: Return values of fork() (Was: C idioms (Was: >< swap operator)) scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 15:20 +0000
You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-10 15:28 +0000
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) David Brown <david.brown@hesbynett.no> - 2018-10-11 00:23 +0200
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) scott@slp53.sl.home (Scott Lurndal) - 2018-10-11 13:22 +0000
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) David Brown <david.brown@hesbynett.no> - 2018-10-11 15:58 +0200
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) scott@slp53.sl.home (Scott Lurndal) - 2018-10-11 14:17 +0000
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) David Brown <david.brown@hesbynett.no> - 2018-10-11 16:42 +0200
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) Wouter Verhelst <w@uter.be> - 2018-10-11 16:53 +0200
Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) David Brown <david.brown@hesbynett.no> - 2018-10-11 20:11 +0200
Re: Return values of fork() (Was: C idioms (Was: >< swap operator)) David Brown <david.brown@hesbynett.no> - 2018-10-11 00:20 +0200
Re: Return values of fork() (Was: C idioms (Was: >< swap operator)) Keith Thompson <kst-u@mib.org> - 2018-10-10 16:15 -0700
Re: Return values of fork() Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-11 14:42 -0600
Re: C idioms Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-09 16:18 -0600
Re: C idioms gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 22:28 +0000
Re: C idioms scott@slp53.sl.home (Scott Lurndal) - 2018-10-10 12:58 +0000
Re: C idioms (Was: >< swap operator) Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-09 07:48 -0700
Re: C idioms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 16:42 +0100
Re: C idioms (Was: >< swap operator) Wouter Verhelst <w@uter.be> - 2018-10-09 19:40 +0200
Re: C idioms (Was: >< swap operator) Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-09 12:38 -0700
Re: C idioms (Was: >< swap operator) Wouter Verhelst <w@uter.be> - 2018-10-09 23:41 +0200
Re: C idioms (Was: >< swap operator) Wouter Verhelst <w@uter.be> - 2018-10-09 19:38 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-07 15:04 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-07 16:37 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-07 16:58 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-07 12:17 -0400
Grammar police! (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-07 20:37 +0000
Re: >< swap operator jameskuyper@alumni.caltech.edu - 2018-10-07 09:31 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-07 18:09 +0100
Re: >< swap operator jameskuyper@alumni.caltech.edu - 2018-10-07 14:05 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-07 22:35 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-08 02:56 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-08 10:48 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 12:09 +0100
Re: >< swap operator Ike Naar <ike@iceland.freeshell.org> - 2018-10-08 16:00 +0000
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 17:44 +0100
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-08 10:39 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 20:08 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-09 11:22 +0200
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-09 09:25 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-09 20:43 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-09 20:15 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-09 22:26 +0200
Re: >< swap operator Ike Naar <ike@iceland.freeshell.org> - 2018-10-08 21:09 +0000
Re: >< swap operator David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 15:18 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-08 07:55 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-09 11:24 +0200
Re: >< swap operator jameskuyper@alumni.caltech.edu - 2018-10-08 07:19 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 16:26 +0100
Re: >< swap operator jameskuyper@alumni.caltech.edu - 2018-10-10 10:59 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 19:53 +0100
Re: >< swap operator James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-10-07 18:00 -0400
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-07 17:10 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 01:25 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-08 02:51 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 11:29 +0100
Re: >< swap operator mark.bluemel@gmail.com - 2018-10-08 04:41 -0700
Re: >< swap operator jameskuyper@alumni.caltech.edu - 2018-10-08 07:56 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-08 08:36 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 17:34 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-08 21:35 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 22:00 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 00:47 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-09 01:11 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 02:47 +0100
Re: >< swap operator mark.bluemel@gmail.com - 2018-10-09 00:49 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-09 11:28 +0100
Re: >< swap operator gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 13:00 +0000
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-08 10:28 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-08 10:49 -0700
Re: >< swap operator Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-07 20:00 -0600
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-06 13:07 -0700
Re: >< swap operator gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 23:35 +0000
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-06 03:49 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-06 16:18 +0200
Re: >< swap operator scott@slp53.sl.home (Scott Lurndal) - 2018-10-06 14:48 +0000
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-06 12:53 -0700
Re: >< swap operator scott@slp53.sl.home (Scott Lurndal) - 2018-10-07 16:38 +0000
Re: >< swap operator James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-10-07 15:56 -0400
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-07 16:53 -0700
Re: >< swap operator David Kleinecke <dkleinecke@gmail.com> - 2018-10-07 17:07 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-07 17:24 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-08 01:30 +0100
Re: >< swap operator Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-10-07 19:12 -0600
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 18:26 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-06 19:41 +0100
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-06 13:05 -0700
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-07 02:24 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-07 12:41 +0200
100% of the user base... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-06 00:22 +0000
Re: 100% of the user base... (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-06 01:55 +0100
Re: 100% of the user base... (Was: >< swap operator) Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-06 03:58 -0700
Re: 100% of the user base... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-06 11:51 +0000
Re: 100% of the user base... (Was: >< swap operator) Bart <bc@freeuk.com> - 2018-10-06 13:09 +0100
Re: 100% of the user base... (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-06 05:26 -0700
Re: 100% of the user base... (Was: >< swap operator) Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-06 05:40 -0700
Re: 100% of the user base... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-06 12:46 +0000
Re: 100% of the user base... (Was: >< swap operator) Melzzzzz <Melzzzzz@zzzzz.com> - 2018-10-06 12:46 +0000
Re: 100% of the user base... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-06 12:49 +0000
Re: 100% of the user base... (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-06 06:27 -0700
Re: 100% of the user base... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-07 12:47 +0000
Re: 100% of the user base... (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-07 09:03 -0400
Re: 100% of the user base... (Was: >< swap operator) scott@slp53.sl.home (Scott Lurndal) - 2018-10-07 16:47 +0000
Re: >< swap operator Wouter Verhelst <w@uter.be> - 2018-10-05 10:17 +0200
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 09:20 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 10:58 +0100
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 12:09 +0200
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-05 03:11 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 07:56 -0400
Re: >< swap operator Wouter Verhelst <w@uter.be> - 2018-10-05 14:25 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 08:39 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 15:47 +0100
Re: >< swap operator Wouter Verhelst <w@uter.be> - 2018-10-05 17:30 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 11:41 -0400
Re: >< swap operator Wouter Verhelst <w@uter.be> - 2018-10-05 17:56 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 12:00 -0400
Re: >< swap operator Richard Damon <Richard@Damon-Family.org> - 2018-10-05 12:34 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 12:48 -0400
Re: >< swap operator Richard Damon <Richard@Damon-Family.org> - 2018-10-05 13:55 -0400
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-05 11:20 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 14:45 -0400
Re: >< swap operator Richard Damon <Richard@Damon-Family.org> - 2018-10-05 21:39 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-07 08:51 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-11-25 14:18 -0800
Re: >< swap operator Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-05 15:46 +0300
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 06:05 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 06:16 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 15:09 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 10:18 -0400
Re: >< swap operator Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-05 17:32 +0300
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 10:34 -0400
Of course it is crazy! (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 15:17 +0000
Re: >< swap operator gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 18:30 +0000
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 14:48 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 15:06 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 13:55 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 06:14 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 16:18 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 10:21 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 17:27 +0200
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-05 15:26 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 10:28 -0400
Re: >< swap operator gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 14:46 +0000
When pigs fly... (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 16:10 +0000
Re: >< swap operator Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-05 17:35 +0300
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 10:46 -0400
Re: >< swap operator gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 15:15 +0000
6K years??? (Was: >< swap operator) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-05 13:20 +0000
Re: 6K years??? (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 09:28 -0400
Re: 6K years??? (Was: >< swap operator) Wouter Verhelst <w@uter.be> - 2018-10-05 17:53 +0200
Re: 6K years??? (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 11:56 -0400
Re: 6K years??? (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-05 18:17 +0200
Re: 6K years??? (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 09:21 -0700
Re: 6K years??? (Was: >< swap operator) David Brown <david.brown@hesbynett.no> - 2018-10-05 18:50 +0200
Re: 6K years??? (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 12:52 -0400
Re: 6K years??? (Was: >< swap operator) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-05 13:05 -0400
Re: 6K years??? (Was: >< swap operator) Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-06 03:42 -0700
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-05 15:59 +0200
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 03:45 +0100
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-04 11:22 -0700
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 20:35 +0100
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-04 13:28 +0100
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 17:59 +0100
Re: >< swap operator John Bode <jfbode1029@gmail.com> - 2018-10-04 09:56 -0700
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 06:03 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-03 14:37 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 09:51 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 15:39 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 10:05 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 10:09 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 16:22 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 10:29 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 20:52 +0200
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 14:57 -0400
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 16:06 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-03 00:09 +0100
Re: >< swap operator Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-10-02 19:21 -0400
Re: >< swap operator David Brown <david.brown@hesbynett.no> - 2018-10-03 11:21 +0200
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-10-02 13:43 -0700
Re: >< swap operator scott@slp53.sl.home (Scott Lurndal) - 2018-10-02 21:01 +0000
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 14:29 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 22:37 +0100
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-03 05:07 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 21:01 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 16:06 -0400
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 21:45 +0100
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 17:09 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 16:11 -0400
Re: >< swap operator "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 16:22 -0400
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-10-02 13:17 -0700
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-10-02 13:24 -0700
Re: >< swap operator scott@slp53.sl.home (Scott Lurndal) - 2018-10-02 15:04 +0000
Re: >< swap operator Niles Rogoff <eternal-september@niles.xyz> - 2018-10-03 18:28 +0000
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-08-14 11:50 -0700
Re: >< swap operator Siri Cruise <chine.bleu@yahoo.com> - 2018-08-14 17:07 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 02:22 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 02:34 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 03:09 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 03:24 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 04:51 -0700
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 05:06 -0700
Re: >< swap operator Siri Cruise <chine.bleu@yahoo.com> - 2018-08-15 04:21 -0700
Re: >< swap operator Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-08-15 14:43 +0100
Re: >< swap operator fir <profesor.fir@gmail.com> - 2018-08-15 07:08 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-08-15 16:52 +0100
Re: >< swap operator Ike Naar <ike@iceland.freeshell.org> - 2018-08-15 15:51 +0000
Re: >< swap operator John Bode <jfbode1029@gmail.com> - 2018-10-01 14:59 -0700
Re: >< swap operator Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-02 03:06 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 11:43 +0100
Re: >< swap operator John Bode <jfbode1029@gmail.com> - 2018-10-02 07:27 -0700
Re: >< swap operator Bart <bc@freeuk.com> - 2018-10-02 15:43 +0100
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 11:01 -0700
Re: >< swap operator Keith Thompson <kst-u@mib.org> - 2018-10-02 10:54 -0700
Re: >< swap operator Thiago Adams <thiago.adams@gmail.com> - 2018-10-02 12:39 -0700
Re: >< swap operator skybuck2000@hotmail.com - 2018-10-10 18:10 -0700
Re: >< swap operator skybuck2000@hotmail.com - 2018-10-10 18:24 -0700
Page 8 of 18 — ← Prev page 1 … 6 7 [8] 9 10 … 18 Next page →
| From | gazelle@shell.xmission.com (Kenny McCormack) |
|---|---|
| Date | 2018-10-10 15:28 +0000 |
| Subject | You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <ppl5qn$6ac$6@news.xmission.com> |
| In reply to | #136549 |
In article <eNovD.69863$nH2.10723@fx26.iad>, Scott Lurndal <slp53@pacbell.net> wrote: >gazelle@shell.xmission.com (Kenny McCormack) writes: >>In article <PFmvD.59808$un2.54146@fx14.iad>, >>Scott Lurndal <slp53@pacbell.net> wrote: >>... >>>fork() returns (one of, Ed) three values: >>> >>> -1 (an error occurred) >>> 0 (You are executing as the child) >>> >0 (You are executing as the parent, and the return value is the child pid). >>> >>>switch is _perfect_ for this. >> >>Exactly. >> >>>(as a nit, I really dislike code that tests for less than zero on >>>interfaces that are defined to return -1 on error - which Bart's >>>original example did). >> >>Yup. As should be clear from my posts on this thread, I believe that one >>should go with the documentation. If the documentation says -1 is the >>error return, then you should check for -1. >> >>Alternatively, though, I can sorta see a rationale for the "check for less >>than zero" approach. That is, you can now say that the code handles all >>conceivable (*) values. There is no excluded case. Like, what if your code >>gets executed in some weird environment where fork() returns -6 to indicate >>that a total solar eclipse is currently occurring? > >That version of fork() would not be compliant with the POSIX >specification, now or in any conceivable future. > You know that and I know that, but, apparently, Bart and/or David aren't so sure. -- Genesis 2:7 And the LORD God formed man of the dust of the ground, and breathed into his nostrils the breath of life; and man became a living soul.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2018-10-11 00:23 +0200 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <pplu5c$11j$1@dont-email.me> |
| In reply to | #136553 |
On 10/10/18 17:28, Kenny McCormack wrote: > In article <eNovD.69863$nH2.10723@fx26.iad>, > Scott Lurndal <slp53@pacbell.net> wrote: >> gazelle@shell.xmission.com (Kenny McCormack) writes: >>> In article <PFmvD.59808$un2.54146@fx14.iad>, >>> Scott Lurndal <slp53@pacbell.net> wrote: >>> ... >>>> fork() returns (one of, Ed) three values: >>>> >>>> -1 (an error occurred) >>>> 0 (You are executing as the child) >>>> >0 (You are executing as the parent, and the return value is the child pid). >>>> >>>> switch is _perfect_ for this. >>> >>> Exactly. >>> >>>> (as a nit, I really dislike code that tests for less than zero on >>>> interfaces that are defined to return -1 on error - which Bart's >>>> original example did). >>> >>> Yup. As should be clear from my posts on this thread, I believe that one >>> should go with the documentation. If the documentation says -1 is the >>> error return, then you should check for -1. >>> >>> Alternatively, though, I can sorta see a rationale for the "check for less >>> than zero" approach. That is, you can now say that the code handles all >>> conceivable (*) values. There is no excluded case. Like, what if your code >>> gets executed in some weird environment where fork() returns -6 to indicate >>> that a total solar eclipse is currently occurring? >> >> That version of fork() would not be compliant with the POSIX >> specification, now or in any conceivable future. >> > > You know that and I know that, but, apparently, Bart and/or David aren't so > sure. > I can't answer for Bart, but as I work on embedded systems I have never had the need to call "fork" from C and have thus never had the need to look up the details. (I would have done so before using it in code, of course.) And I know now that POSIX fork always returns a value >= -1. I am not convinced that POSIX fork is the only conceivable fork, however - though it might be the only fork in current mainstream OS's.
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2018-10-11 13:22 +0000 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <J8IvD.102473$9O2.68788@fx03.iad> |
| In reply to | #136592 |
David Brown <david.brown@hesbynett.no> writes: >On 10/10/18 17:28, Kenny McCormack wrote: >>> That version of fork() would not be compliant with the POSIX >>> specification, now or in any conceivable future. >>> >> >> You know that and I know that, but, apparently, Bart and/or David aren't so >> sure. >> > >I can't answer for Bart, but as I work on embedded systems I have never >had the need to call "fork" from C and have thus never had the need to >look up the details. (I would have done so before using it in code, of >course.) And I know now that POSIX fork always returns a value >= -1. > >I am not convinced that POSIX fork is the only conceivable fork, however >- though it might be the only fork in current mainstream OS's. I've worked on a wide variety of operating systems over the last four decades, and not one has had a 'fork' system interface other than unix and unix derivitives. The code in the Burroughs Large Systems MCP that created a new task was called "motherforker", but that was internal to the MCP :-); in the HP-3000 MPE operating system, the module that handled process creation was called "Nursery", and the module that handled termination was called "Morgue".
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2018-10-11 15:58 +0200 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <ppnktr$6ai$2@dont-email.me> |
| In reply to | #136636 |
On 11/10/18 15:22, Scott Lurndal wrote: > David Brown <david.brown@hesbynett.no> writes: >> On 10/10/18 17:28, Kenny McCormack wrote: > >>>> That version of fork() would not be compliant with the POSIX >>>> specification, now or in any conceivable future. >>>> >>> >>> You know that and I know that, but, apparently, Bart and/or David aren't so >>> sure. >>> >> >> I can't answer for Bart, but as I work on embedded systems I have never >> had the need to call "fork" from C and have thus never had the need to >> look up the details. (I would have done so before using it in code, of >> course.) And I know now that POSIX fork always returns a value >= -1. >> >> I am not convinced that POSIX fork is the only conceivable fork, however >> - though it might be the only fork in current mainstream OS's. > > I've worked on a wide variety of operating systems over the last > four decades, and not one has had a 'fork' system interface other > than unix and unix derivitives. > > The code in the Burroughs Large Systems MCP that created a new task > was called "motherforker", but that was internal to the MCP :-); > in the HP-3000 MPE operating system, the module that handled process > creation was called "Nursery", and the module that handled termination > was called "Morgue". > And who says engineers don't have a sense of humour?
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2018-10-11 14:17 +0000 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <oYIvD.240603$RN2.86306@fx40.iad> |
| In reply to | #136638 |
David Brown <david.brown@hesbynett.no> writes: >On 11/10/18 15:22, Scott Lurndal wrote: >> David Brown <david.brown@hesbynett.no> writes: >>> On 10/10/18 17:28, Kenny McCormack wrote: >> >>>>> That version of fork() would not be compliant with the POSIX >>>>> specification, now or in any conceivable future. >>>>> >>>> >>>> You know that and I know that, but, apparently, Bart and/or David aren't so >>>> sure. >>>> >>> >>> I can't answer for Bart, but as I work on embedded systems I have never >>> had the need to call "fork" from C and have thus never had the need to >>> look up the details. (I would have done so before using it in code, of >>> course.) And I know now that POSIX fork always returns a value >= -1. >>> >>> I am not convinced that POSIX fork is the only conceivable fork, however >>> - though it might be the only fork in current mainstream OS's. >> >> I've worked on a wide variety of operating systems over the last >> four decades, and not one has had a 'fork' system interface other >> than unix and unix derivitives. >> >> The code in the Burroughs Large Systems MCP that created a new task >> was called "motherforker", but that was internal to the MCP :-); >> in the HP-3000 MPE operating system, the module that handled process >> creation was called "Nursery", and the module that handled termination >> was called "Morgue". >> > >And who says engineers don't have a sense of humour? > The Burroughs medium systems MCP (OS) was written in assembler (unlike the Large Systems MCP which was written in a flavor of ALGOL), and thus was limited to 6 character names. The overlay responsible for handling process swapping (roll-in/roll-out) was called HIHO (as in Hi Ho, Hi Ho, it's off to work we go...). All the branch labels within that overlay were words from Snow White (sleepy, dopey, et alia).
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2018-10-11 16:42 +0200 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <ppnnh7$nqm$1@dont-email.me> |
| In reply to | #136640 |
On 11/10/18 16:17, Scott Lurndal wrote: > David Brown <david.brown@hesbynett.no> writes: >> On 11/10/18 15:22, Scott Lurndal wrote: >>> David Brown <david.brown@hesbynett.no> writes: >>>> On 10/10/18 17:28, Kenny McCormack wrote: >>> >>>>>> That version of fork() would not be compliant with the POSIX >>>>>> specification, now or in any conceivable future. >>>>>> >>>>> >>>>> You know that and I know that, but, apparently, Bart and/or David aren't so >>>>> sure. >>>>> >>>> >>>> I can't answer for Bart, but as I work on embedded systems I have never >>>> had the need to call "fork" from C and have thus never had the need to >>>> look up the details. (I would have done so before using it in code, of >>>> course.) And I know now that POSIX fork always returns a value >= -1. >>>> >>>> I am not convinced that POSIX fork is the only conceivable fork, however >>>> - though it might be the only fork in current mainstream OS's. >>> >>> I've worked on a wide variety of operating systems over the last >>> four decades, and not one has had a 'fork' system interface other >>> than unix and unix derivitives. >>> >>> The code in the Burroughs Large Systems MCP that created a new task >>> was called "motherforker", but that was internal to the MCP :-); >>> in the HP-3000 MPE operating system, the module that handled process >>> creation was called "Nursery", and the module that handled termination >>> was called "Morgue". >>> >> >> And who says engineers don't have a sense of humour? >> > > The Burroughs medium systems MCP (OS) was written in assembler > (unlike the Large Systems MCP which was written in a flavor of > ALGOL), and thus was limited to 6 character names. > > The overlay responsible for handling process swapping (roll-in/roll-out) > was called HIHO (as in Hi Ho, Hi Ho, it's off to work we go...). All > the branch labels within that overlay were words from Snow White > (sleepy, dopey, et alia). > One of the PowerPC microcontrollers I used had an opcode EIEIO - "enforce in-order execution of input / output operations".
[toc] | [prev] | [next] | [standalone]
| From | Wouter Verhelst <w@uter.be> |
|---|---|
| Date | 2018-10-11 16:53 +0200 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <oo449f-hv5.ln1@gangtai.home.grep.be> |
| In reply to | #136642 |
On 11/10/18 16:42, David Brown wrote: > One of the PowerPC microcontrollers I used had an opcode EIEIO - > "enforce in-order execution of input / output operations". That's actually not specific to that one particular microcontroller, but a standard opcode in the PowerPC architecture.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2018-10-11 20:11 +0200 |
| Subject | Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator))) |
| Message-ID | <ppo3ol$1kq$1@dont-email.me> |
| In reply to | #136650 |
On 11/10/18 16:53, Wouter Verhelst wrote: > On 11/10/18 16:42, David Brown wrote: >> One of the PowerPC microcontrollers I used had an opcode EIEIO - >> "enforce in-order execution of input / output operations". > > That's actually not specific to that one particular microcontroller, but > a standard opcode in the PowerPC architecture. > Well, it is standard to one variation of the PPC architecture - there are many. Other PPC microcontrollers I have used have had several such barrier instructions with subtle differences, rather than this particularly musical instruction.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2018-10-11 00:20 +0200 |
| Subject | Re: Return values of fork() (Was: C idioms (Was: >< swap operator)) |
| Message-ID | <ppltvj$vsm$1@dont-email.me> |
| In reply to | #136549 |
On 10/10/18 17:20, Scott Lurndal wrote: > gazelle@shell.xmission.com (Kenny McCormack) writes: >> In article <PFmvD.59808$un2.54146@fx14.iad>, >> Scott Lurndal <slp53@pacbell.net> wrote: >> ... >>> fork() returns (one of, Ed) three values: >>> >>> -1 (an error occurred) >>> 0 (You are executing as the child) >>> 0 (You are executing as the parent, and the return value is the child pid). >>> >>> switch is _perfect_ for this. >> >> Exactly. >> >>> (as a nit, I really dislike code that tests for less than zero on >>> interfaces that are defined to return -1 on error - which Bart's >>> original example did). >> >> Yup. As should be clear from my posts on this thread, I believe that one >> should go with the documentation. If the documentation says -1 is the >> error return, then you should check for -1. >> >> Alternatively, though, I can sorta see a rationale for the "check for less >> than zero" approach. That is, you can now say that the code handles all >> conceivable (*) values. There is no excluded case. Like, what if your code >> gets executed in some weird environment where fork() returns -6 to indicate >> that a total solar eclipse is currently occurring? > > That version of fork() would not be compliant with the POSIX > specification, now or in any conceivable future. > POSIX is a common standard, but it does not have a monopoly on the name "fork" or a function for that purpose. It is entirely reasonable to conceive of a different multi-tasking OS that allows you to fork() processes, and for which the "fork" function acts like POSIX "fork" in normal cases but can give a range of error codes on failure.
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Date | 2018-10-10 16:15 -0700 |
| Subject | Re: Return values of fork() (Was: C idioms (Was: >< swap operator)) |
| Message-ID | <lnsh1dxuj4.fsf@kst-u.example.com> |
| In reply to | #136589 |
David Brown <david.brown@hesbynett.no> writes:
[...]
> POSIX is a common standard, but it does not have a monopoly on the name
> "fork" or a function for that purpose. It is entirely reasonable to
> conceive of a different multi-tasking OS that allows you to fork()
> processes, and for which the "fork" function acts like POSIX "fork" in
> normal cases but can give a range of error codes on failure.
There would be no good reason to do so. fork() sets errno on
failure. A version that returns a value other than -1 on failure
would break existing code that checks that value.
Defining a function named "fork" that behaves differently would make
sense only in the context of an operating system that doesn't even
pretend to have anything to do with POSIX. (Even so, it might be a
good idea to call it something other than "fork" to avoid confusion.)
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
[toc] | [prev] | [next] | [standalone]
| From | Joe Pfeiffer <pfeiffer@cs.nmsu.edu> |
|---|---|
| Date | 2018-10-11 14:42 -0600 |
| Subject | Re: Return values of fork() |
| Message-ID | <1bd0sggqqu.fsf@pfeifferfamily.net> |
| In reply to | #136589 |
David Brown <david.brown@hesbynett.no> writes: > On 10/10/18 17:20, Scott Lurndal wrote: >> gazelle@shell.xmission.com (Kenny McCormack) writes: >>> In article <PFmvD.59808$un2.54146@fx14.iad>, >>> Scott Lurndal <slp53@pacbell.net> wrote: >>> ... >>>> fork() returns (one of, Ed) three values: >>>> >>>> -1 (an error occurred) >>>> 0 (You are executing as the child) >>>> 0 (You are executing as the parent, and the return value is the child pid). >>>> >>>> switch is _perfect_ for this. >>> >>> Exactly. >>> >>>> (as a nit, I really dislike code that tests for less than zero on >>>> interfaces that are defined to return -1 on error - which Bart's >>>> original example did). >>> >>> Yup. As should be clear from my posts on this thread, I believe that one >>> should go with the documentation. If the documentation says -1 is the >>> error return, then you should check for -1. >>> >>> Alternatively, though, I can sorta see a rationale for the "check for less >>> than zero" approach. That is, you can now say that the code handles all >>> conceivable (*) values. There is no excluded case. Like, what if your code >>> gets executed in some weird environment where fork() returns -6 to indicate >>> that a total solar eclipse is currently occurring? >> >> That version of fork() would not be compliant with the POSIX >> specification, now or in any conceivable future. >> > > POSIX is a common standard, but it does not have a monopoly on the > name "fork" or a function for that purpose. It is entirely reasonable > to conceive of a different multi-tasking OS that allows you to fork() > processes, and for which the "fork" function acts like POSIX "fork" in > normal cases but can give a range of error codes on failure. Once we're off into "we might be talking about some other fork() that returns different values in some other OS", there's nothing we can say about how it works and what's the clearest way to write code using it that can't be made invalid by changing the assumptions. Assuming a fork() with a range of negative error return values is no more useful to the discussion than assuming a fork() in *my* hypothetical OS that uses negative PIDs.
[toc] | [prev] | [next] | [standalone]
| From | Joe Pfeiffer <pfeiffer@cs.nmsu.edu> |
|---|---|
| Date | 2018-10-09 16:18 -0600 |
| Subject | Re: C idioms |
| Message-ID | <1bsh1e228m.fsf@pfeifferfamily.net> |
| In reply to | #136495 |
David Brown <david.brown@hesbynett.no> writes: > On 09/10/18 17:23, Kenny McCormack wrote: >> In article <ppiei3$n9l$1@dont-email.me>, >> David Brown <david.brown@hesbynett.no> wrote: >> ... >>> I don't think the first version is unclear, but I don't see any... >> >> Because you're not a moron. You're many things, but a moron you're not. >> > > Why, thank you. > >> >>> is corrected to use "if" rather than "switch"). >> >> No. Switch is better. >> > > A switch is better when a switch is appropriate. It won't work here, > so it is not better. We are branching on a value being less than, > equal to or greater than zero - a switch won't do that. At least in Linux, the value returned on failure is specifically -1. So yes, a switch will work here.
[toc] | [prev] | [next] | [standalone]
| From | gazelle@shell.xmission.com (Kenny McCormack) |
|---|---|
| Date | 2018-10-09 22:28 +0000 |
| Subject | Re: C idioms |
| Message-ID | <ppja26$66f$1@news.xmission.com> |
| In reply to | #136514 |
In article <1bsh1e228m.fsf@pfeifferfamily.net>,
Joe Pfeiffer <pfeiffer@cs.nmsu.edu> wrote:
...
>At least in Linux, the value returned on failure is specifically -1. So
>yes, a switch will work here.
Yep. Not specific to Linux, but defined by POSIX.
In fact, most POSIX functions like this are defined as returning specificly
-1 on error. I've seen a tendency for people to test for "less than zero"
when they should really be testing specifically for "equals -1". They
think they're being more general, but it is just plain wrong.
--
"Women should not be enlightened or educated in any way. They should be
segregated because they are the cause of unholy erections in holy men.
-- Saint Augustine (354-430) --
[toc] | [prev] | [next] | [standalone]
| From | scott@slp53.sl.home (Scott Lurndal) |
|---|---|
| Date | 2018-10-10 12:58 +0000 |
| Subject | Re: C idioms |
| Message-ID | <KHmvD.59810$un2.56474@fx14.iad> |
| In reply to | #136515 |
gazelle@shell.xmission.com (Kenny McCormack) writes: >In article <1bsh1e228m.fsf@pfeifferfamily.net>, >Joe Pfeiffer <pfeiffer@cs.nmsu.edu> wrote: >... >>At least in Linux, the value returned on failure is specifically -1. So >>yes, a switch will work here. > >Yep. Not specific to Linux, but defined by POSIX. > >In fact, most POSIX functions like this are defined as returning specificly >-1 on error. I've seen a tendency for people to test for "less than zero" >when they should really be testing specifically for "equals -1". They >think they're being more general, but it is just plain wrong. Hear! Hear!
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2018-10-09 07:48 -0700 |
| Subject | Re: C idioms (Was: >< swap operator) |
| Message-ID | <aa3ac5fe-bc9e-4b56-9b4c-bf97641c00b8@googlegroups.com> |
| In reply to | #136477 |
On Tuesday, October 9, 2018 at 2:07:18 PM UTC+1, Kenny McCormack wrote:
> In article <pbfu8f-mil.ln1@gangtai.home.grep.be>,
> Wouter Verhelst <w@uter.be> wrote:
> >On 10/7/18 3:56 PM, Malcolm McLean wrote:
> >> On Sunday, October 7, 2018 at 2:19:55 PM UTC+1, Ben Bacarisse wrote:
> >>
> >>> C needs expression statements -- statements formed from an expression
> >>> and a semicolon -- to work. There is no reason to keep denying this
> >>> distinction.
> >>>
> >> We could easily enough declare that an assignment doesn't yield a value.
> >> That would break some C code in a way that is difficult to simply fix,
> >> but arguably such code is badly written anyway and doesn't deserve to
> >> be supported.
> >
> >Whoa.
> >
> >if((pid = fork()) < 0) {
> > // error handling
> >} else if(pid == 0) {
> > // child code
> >} else {
> > // parent code
> >}
> >
> >I think that's not badly written at all, and uses the value of the
> >assignment expression.
>
> That's a common idiom, but it is not really necessary. I'm sure many in
> the "keep it clear - even to morons" crowd would argue that it should be
> written:
>
> pid = fork();
> switch (pid) {
> ...
> }
>
Life has changed. Thirty years ago, you could assume that someone who
didn't know C was a moron, or at least not an ordinarily skilled general
programmer. C had no real competition as a serious language - for example
Graphics Gems allowed submissions to the first book to be in any
language, and every single one was submitted in C.
But now many people live a world of PHP and Javascript. But they might
find themselves presented with a C program to modify or debug. So
it's more important now to keep things clear, to try to avoid C-specific
constructs and quirks. Assignments as expressions are a perfect example.
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2018-10-09 16:42 +0100 |
| Subject | Re: C idioms |
| Message-ID | <874ldvunxt.fsf@bsb.me.uk> |
| In reply to | #136483 |
Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes: <snip> > But now many people live a world of PHP and Javascript. But they might > find themselves presented with a C program to modify or debug. So > it's more important now to keep things clear, to try to avoid C-specific > constructs and quirks. Assignments as expressions are a perfect > example. Both PHP and Javascript have assignments as expressions so it's not really a perfect example of a C-specific construct or quirk. -- Ben.
[toc] | [prev] | [next] | [standalone]
| From | Wouter Verhelst <w@uter.be> |
|---|---|
| Date | 2018-10-09 19:40 +0200 |
| Subject | Re: C idioms (Was: >< swap operator) |
| Message-ID | <5q5v8f-1do.ln1@gangtai.home.grep.be> |
| In reply to | #136483 |
On 9/10/18 16:48, Malcolm McLean wrote: > But now many people live a world of PHP and Javascript. But they might > find themselves presented with a C program to modify or debug. So > it's more important now to keep things clear, to try to avoid C-specific > constructs and quirks. Assignments as expressions are a perfect example. So, you're saying that I should write my C code so that non-C programmers can make better sense of it? That's just stupid. Javascript programmers also don't write their javascript code so that C programmers can make better sense of it (note: that's a good thing). Instead, you should write code so that people proficient (to some level at least) in the language in which the code is written can understand it. Anything else is babysitting some future developer that you don't even know, and that way lies failure.
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2018-10-09 12:38 -0700 |
| Subject | Re: C idioms (Was: >< swap operator) |
| Message-ID | <8f5d5acf-9f02-4d12-9c05-235466a64a22@googlegroups.com> |
| In reply to | #136493 |
On Tuesday, October 9, 2018 at 6:50:52 PM UTC+1, Wouter Verhelst wrote: > On 9/10/18 16:48, Malcolm McLean wrote: > > But now many people live a world of PHP and Javascript. But they might > > find themselves presented with a C program to modify or debug. So > > it's more important now to keep things clear, to try to avoid C-specific > > constructs and quirks. Assignments as expressions are a perfect example. > > So, you're saying that I should write my C code so that non-C > programmers can make better sense of it? That's just stupid. Javascript > programmers also don't write their javascript code so that C programmers > can make better sense of it (note: that's a good thing). > > Instead, you should write code so that people proficient (to some level > at least) in the language in which the code is written can understand it. > > Anything else is babysitting some future developer that you don't even > know, and that way lies failure. > You seldom need to rely on a quirk in a language. That's why it's a quirk. Other languages reject it because it is confusing or unnecessary. By rejecting the quirks, you can improve your program. C in particular has a reputation for allowing some fairly cryptic constructs. Great for obfuscated C competitions, not so great for serious programming.
[toc] | [prev] | [next] | [standalone]
| From | Wouter Verhelst <w@uter.be> |
|---|---|
| Date | 2018-10-09 23:41 +0200 |
| Subject | Re: C idioms (Was: >< swap operator) |
| Message-ID | <8tjv8f-pnk.ln1@gangtai.home.grep.be> |
| In reply to | #136502 |
On 9/10/18 21:38, Malcolm McLean wrote: > On Tuesday, October 9, 2018 at 6:50:52 PM UTC+1, Wouter Verhelst wrote: >> On 9/10/18 16:48, Malcolm McLean wrote: >>> But now many people live a world of PHP and Javascript. But they might >>> find themselves presented with a C program to modify or debug. So >>> it's more important now to keep things clear, to try to avoid C-specific >>> constructs and quirks. Assignments as expressions are a perfect example. >> >> So, you're saying that I should write my C code so that non-C >> programmers can make better sense of it? That's just stupid. Javascript >> programmers also don't write their javascript code so that C programmers >> can make better sense of it (note: that's a good thing). >> >> Instead, you should write code so that people proficient (to some level >> at least) in the language in which the code is written can understand it. >> >> Anything else is babysitting some future developer that you don't even >> know, and that way lies failure. >> > You seldom need to rely on a quirk in a language. Sure, but then I wouldn't describe using an assignment as an expression to be a quirk; it's instead a fairly basic part of the language. YMMV, of course.
[toc] | [prev] | [next] | [standalone]
| From | Wouter Verhelst <w@uter.be> |
|---|---|
| Date | 2018-10-09 19:38 +0200 |
| Subject | Re: C idioms (Was: >< swap operator) |
| Message-ID | <ok5v8f-1do.ln1@gangtai.home.grep.be> |
| In reply to | #136477 |
On 9/10/18 15:07, Kenny McCormack wrote:
> In article <pbfu8f-mil.ln1@gangtai.home.grep.be>,
> Wouter Verhelst <w@uter.be> wrote:
>> On 10/7/18 3:56 PM, Malcolm McLean wrote:
>>> On Sunday, October 7, 2018 at 2:19:55 PM UTC+1, Ben Bacarisse wrote:
>>>
>>>> C needs expression statements -- statements formed from an expression
>>>> and a semicolon -- to work. There is no reason to keep denying this
>>>> distinction.
>>>>
>>> We could easily enough declare that an assignment doesn't yield a value.
>>> That would break some C code in a way that is difficult to simply fix,
>>> but arguably such code is badly written anyway and doesn't deserve to
>>> be supported.
>>
>> Whoa.
>>
>> if((pid = fork()) < 0) {
>> // error handling
>> } else if(pid == 0) {
>> // child code
>> } else {
>> // parent code
>> }
>>
>> I think that's not badly written at all, and uses the value of the
>> assignment expression.
>
> That's a common idiom, but it is not really necessary. I'm sure many in
> the "keep it clear - even to morons" crowd would argue that it should be
> written:
>
> pid = fork();
> switch (pid) {
> ...
> }
If you're going to use a switch, you can also use
switch(fork())
Rather than assigning it to a variable (unless you want to retain the
pid for other reasons, of course).
However, the reason I brought up the if is that we're testing for two
ranges here: "negative value", "0", and "any positive value". With a
switch you can have a default: label to catch "other values" which could
then be assumed to be in one of the two ranges, but you can only have
one of those; if there are two ranges, you'd have to have an if() in
your default label, which kindof defeats the point.
This was on the assumption that POSIX does not define what negative
value should be returned on failure, but on checking it I now find that
it actually does, so that the result of fork() is always either -1 (for
error), 0 (for child), or a PID number (for parent); so a switch should
be possible. Regardless of that, it is not impossible to imagine a
situation where you would want to have one out of multiple actions being
taken depending on which range out of many a result falls in, and then
this idiom can be used, since C does not allow ranges in the switch case
labels (which would probably be my one wishlist to the language).
> What's less clear is when you're doing a "while" loop. Then you want to be
> able to do:
>
> while ((c = getwhatver()) != EOF) {
> ...
> }
>
> Here it is less clear how to re-write this without using the embedded
> assignment.
It's always possible to rewrite code so you don't use an assignment in
an expression, although you may have to introduce repetition of the
assignment:
c = getwhatever();
while(c != EOF) {
...
c = getwhatever();
}
Yes, that's ugly, and wouldn't be a good idea if the assignment is the
result of a very large expression (but then that's probably a sign that
it should be moved to a macro or a small function or some such).
However, personally I find it no less (or more) ugly than the
pid = fork();
if(pid < 0)
kind of idiom.
But the fact that it is possible to avoid using the assignment as an
expression should not mean that it is in any way a good idea to do so.
Honestly, in cases where an assignment expression makes sense (such as
the examples given here), I find that it makes things much clearer:
You're calling a function, and then taking an action based on the result
of that function, but *also* retaining the result for future usage. This
communicates to the future bug fixer of your code that he shouldn't
reuse the variable for another similar usage, because it's still needed
further down the line, and will avoid other issues. Having the use of a
variable immediately follow its assignment might communicate instead
that the variable has now been used and is no longer necessary. This
makes for less clear code.
[toc] | [prev] | [next] | [standalone]
Page 8 of 18 — ← Prev page 1 … 6 7 [8] 9 10 … 18 Next page →
Back to top | Article view | comp.lang.c
csiph-web