Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #133735 > unrolled thread

>< swap operator

Started byskybuck2000@hotmail.com
First post2018-08-13 12:53 -0700
Last post2018-10-10 18:24 -0700
Articles 20 on this page of 354 — 27 participants

Back to article view | Back to comp.lang.c


Contents

  >< 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 →


#136553 — You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

Fromgazelle@shell.xmission.com (Kenny McCormack)
Date2018-10-10 15:28 +0000
SubjectYou 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]


#136592 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

FromDavid Brown <david.brown@hesbynett.no>
Date2018-10-11 00:23 +0200
SubjectRe: 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]


#136636 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

Fromscott@slp53.sl.home (Scott Lurndal)
Date2018-10-11 13:22 +0000
SubjectRe: 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]


#136638 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

FromDavid Brown <david.brown@hesbynett.no>
Date2018-10-11 15:58 +0200
SubjectRe: 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]


#136640 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

Fromscott@slp53.sl.home (Scott Lurndal)
Date2018-10-11 14:17 +0000
SubjectRe: 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]


#136642 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

FromDavid Brown <david.brown@hesbynett.no>
Date2018-10-11 16:42 +0200
SubjectRe: 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]


#136650 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

FromWouter Verhelst <w@uter.be>
Date2018-10-11 16:53 +0200
SubjectRe: 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]


#136679 — Re: You know that and I know that, but ... (Was: Return values of fork() (Was: C idioms (Was: >< swap operator)))

FromDavid Brown <david.brown@hesbynett.no>
Date2018-10-11 20:11 +0200
SubjectRe: 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]


#136589 — Re: Return values of fork() (Was: C idioms (Was: >< swap operator))

FromDavid Brown <david.brown@hesbynett.no>
Date2018-10-11 00:20 +0200
SubjectRe: 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]


#136598 — Re: Return values of fork() (Was: C idioms (Was: >< swap operator))

FromKeith Thompson <kst-u@mib.org>
Date2018-10-10 16:15 -0700
SubjectRe: 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]


#136695 — Re: Return values of fork()

FromJoe Pfeiffer <pfeiffer@cs.nmsu.edu>
Date2018-10-11 14:42 -0600
SubjectRe: 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]


#136514 — Re: C idioms

FromJoe Pfeiffer <pfeiffer@cs.nmsu.edu>
Date2018-10-09 16:18 -0600
SubjectRe: 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]


#136515 — Re: C idioms

Fromgazelle@shell.xmission.com (Kenny McCormack)
Date2018-10-09 22:28 +0000
SubjectRe: 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]


#136529 — Re: C idioms

Fromscott@slp53.sl.home (Scott Lurndal)
Date2018-10-10 12:58 +0000
SubjectRe: 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]


#136483 — Re: C idioms (Was: >< swap operator)

FromMalcolm McLean <malcolm.arthur.mclean@gmail.com>
Date2018-10-09 07:48 -0700
SubjectRe: 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]


#136488 — Re: C idioms

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2018-10-09 16:42 +0100
SubjectRe: 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]


#136493 — Re: C idioms (Was: >< swap operator)

FromWouter Verhelst <w@uter.be>
Date2018-10-09 19:40 +0200
SubjectRe: 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]


#136502 — Re: C idioms (Was: >< swap operator)

FromMalcolm McLean <malcolm.arthur.mclean@gmail.com>
Date2018-10-09 12:38 -0700
SubjectRe: 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]


#136511 — Re: C idioms (Was: >< swap operator)

FromWouter Verhelst <w@uter.be>
Date2018-10-09 23:41 +0200
SubjectRe: 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]


#136491 — Re: C idioms (Was: >< swap operator)

FromWouter Verhelst <w@uter.be>
Date2018-10-09 19:38 +0200
SubjectRe: 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