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


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

usecases of void foo(char **b) {}

Started byfir <profesor.fir@gmail.com>
First post2016-10-30 05:42 -0700
Last post2016-11-03 03:58 -0700
Articles 20 on this page of 410 — 25 participants

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


Contents

  usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-30 05:42 -0700
    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-30 17:17 +0000
      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 11:02 -0700
    Re: usecases of   void foo(char **b) {} supercat@casperkitty.com - 2016-10-30 12:13 -0700
      Re: usecases of   void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-10-30 12:52 -0700
        Re: usecases of   void foo(char **b) {} supercat@casperkitty.com - 2016-10-30 13:38 -0700
          Re: usecases of   void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-10-30 14:32 -0700
      Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-30 13:49 -0700
        Re: usecases of   void foo(char **b) {} supercat@casperkitty.com - 2016-10-30 14:04 -0700
          Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-30 14:14 -0700
            Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-30 14:20 -0700
              Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-30 14:23 -0700
              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 13:40 +0000
                Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 01:45 +0000
                Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-01 07:55 -0700
                  Re: usecases of void foo(char **b) {} mark.bluemel@gmail.com - 2016-11-01 08:07 -0700
                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 16:55 +0000
                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 11:58 -0700
                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-01 12:34 -0700
                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 12:49 -0700
                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-01 20:13 +0000
                    Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-02 12:45 -0700
                      Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 20:37 +0000
                        Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-15 10:50 -0800
            Re: usecases of   void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-10-31 12:37 +0100
              Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 06:01 -0700
        Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 11:11 -0700
      Re: usecases of   void foo(char **b) {} Ike Naar <ike@iceland.freeshell.org> - 2016-10-31 01:26 +0000
    Re: usecases of   void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-30 12:49 -0700
    Re: usecases of   void foo(char **b) {} "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-10-31 14:16 +0100
      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 14:20 +0000
        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 14:55 +0000
          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-10-31 08:10 -0700
            Re: usecases of void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 08:27 -0700
              Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 09:12 -0700
                Re: usecases of void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 09:20 -0700
                  Re: usecases of void foo(char **b) {} "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-11-05 04:24 +0100
                Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 16:35 +0000
                  Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-10-31 09:59 -0700
                    Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 17:04 +0000
                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-10-31 12:16 -0700
                        Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 19:19 +0000
                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 08:31 -0700
                          Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-01 22:07 -0400
                            Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 01:55 -0700
                              Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-02 09:18 -0400
                                Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-02 15:45 +0100
                                  Re: usecases of void foo(char **b) {} luser droog <luser.droog@gmail.com> - 2016-11-02 07:48 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 07:58 -0700
                                      Re: usecases of void foo(char **b) {} luser droog <luser.droog@gmail.com> - 2016-11-02 08:05 -0700
                                    Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-02 17:17 +0000
                                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-02 10:37 -0700
                                    Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-02 20:38 +0100
                                      Re: usecases of void foo(char **b) {} "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-11-05 04:37 +0100
                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-05 14:12 -0700
                                          Re: usecases of void foo(char **b) {} "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-11-07 00:37 +0100
                                  Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-02 11:03 -0400
                  Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 11:20 -0700
                    Re: usecases of void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 11:24 -0700
                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-01 09:02 -0700
                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 16:27 +0000
                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 17:46 +0000
                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 11:46 -0700
                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 19:41 +0000
                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 13:10 -0700
                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 20:50 +0000
                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-01 21:04 +0000
                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 22:22 +0000
                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-01 22:54 +0000
                                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-02 07:02 -0700
                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 18:53 +0000
                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 12:24 -0700
                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-02 20:12 +0000
                                          Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-02 13:21 -0700
                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 21:11 +0000
                                  Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 14:46 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 15:28 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 02:32 -0700
                                  Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 15:26 -0700
                                  Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-01 15:55 -0700
                                    Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-02 12:53 -0700
                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 16:39 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 16:55 -0700
                                      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 02:21 -0700
                                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 05:02 -0700
                                          Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 12:58 +0000
                                            Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 08:03 -0700
                                              Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 08:14 -0700
                                            Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 09:19 -0700
                                              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 17:54 +0000
                                                Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 11:47 -0700
                                                  Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 19:01 +0000
                                                    Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 12:28 -0700
                                                      Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-12 13:36 -0800
                                                        Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-13 11:07 +1300
                                                          Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-12 22:27 +0000
                                                            Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-12 14:49 -0800
                                                          Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-15 10:23 -0800
                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-12 14:47 -0800
                                                          Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-15 10:05 -0800
                                                      Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-12 17:06 -0500
                                                    Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-02 19:35 +0000
                          Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-01 13:12 -0700
                            Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 13:37 -0700
                        Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 09:45 -0700
                    Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 18:33 +0000
                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 11:41 -0700
                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 18:51 +0000
                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 08:43 -0700
                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 16:14 +0000
                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 16:04 -0700
                      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 16:22 -0700
                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 23:45 +0000
                          Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 16:58 -0700
                            Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 17:11 -0700
                              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 01:27 +0000
                                Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 02:31 -0700
                                  Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 02:41 -0700
                                  Re: usecases of void foo(char **b) {} asetofsymbols@gmail.com - 2016-11-01 03:15 -0700
                                Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 11:14 +0000
                                  Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 11:30 +0000
                                    Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 12:10 +0000
                                      Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-01 11:23 -0400
                                        Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-01 09:33 -0700
                                          Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-01 22:16 -0400
                                            Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-01 20:36 -0700
                                              Re: usecases of void foo(char **b) {} Jerry Stuckle <jstucklex@attglobal.net> - 2016-11-02 09:20 -0400
                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 09:02 -0700
                                                Re: usecases of void foo(char **b) {} James Kuyper <jameskuyper@verizon.net> - 2016-11-03 22:09 -0400
                                        Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 17:37 +0000
                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 11:59 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 05:51 -0700
                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 06:26 -0700
                                      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 07:32 -0700
                                      Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 15:37 +0000
                                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 08:50 -0700
                                        Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 09:05 -0700
                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 17:48 +0000
                                            Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-01 12:38 -0700
                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-01 22:55 +0000
                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 00:04 +0000
                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-02 02:06 +0000
                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 10:05 +0000
                                                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-02 08:07 -0700
                                                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 08:45 -0700
                                                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 09:17 -0700
                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 19:10 +0000
                                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 12:55 -0700
                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 20:13 +0000
                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 13:37 -0700
                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 19:18 +0000
                                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-02 13:04 -0700
                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-02 20:54 +0000
                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 22:31 +0000
                                                              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-02 23:53 +0000
                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-03 08:41 -0700
                                                          Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-02 14:05 -0700
                                                            Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-02 16:17 -0700
                                                              Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-03 17:31 +1300
                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-03 08:20 -0700
                                                                  Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-04 07:59 +1300
                                                                    Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-04 09:53 +0100
                                                                      Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-04 22:32 +1300
                                                                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-04 07:57 -0700
                                                                        Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-04 16:47 +0100
                                                                          Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-04 09:09 -0700
                                                                            Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-04 18:04 +0100
                                                                              Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-04 12:27 -0700
                                                                                Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-05 14:42 +0100
                                                                                  Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-05 14:04 -0700
                                                                                    Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-06 17:29 +0100
                                                                                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-06 18:42 -0800
                                                                                    Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-15 10:51 -0800
                                                                                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-15 12:16 -0800
                                                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-15 12:34 -0800
                                                                                          Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-15 13:27 -0800
                                                                                            Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-15 13:43 -0800
                                                                                              Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-15 14:02 -0800
                                                                                                Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-15 15:01 -0800
                                                                                                  Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-15 16:00 -0800
                                                                                                    Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-15 17:06 -0800
                                                                                                      Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-15 22:49 -0800
                                                                                                        Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-16 04:30 -0800
                                                                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-16 08:37 -0800
                                                                                                          Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-16 09:34 -0800
                                                                                                            Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-16 09:49 -0800
                                                                                                            Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-16 10:27 -0800
                                                                                                              Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-17 13:03 -0800
                                                                                                            Re: usecases of void foo(char **b) {} raltbos@xs4all.nl (Richard Bos) - 2016-11-18 09:08 +0000
                                                                                        Re: usecases of void foo(char **b) {} Tim Rentsch <txr@alumni.caltech.edu> - 2016-11-16 10:31 -0800
                                                                        Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-05 08:14 +1300
                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-02 21:43 +0000
                                                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-02 16:16 -0700
                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 00:05 +0000
                                                          Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-03 06:07 +0000
                                                            Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-03 01:59 -0700
                                                              Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-03 02:19 -0700
                                                                Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-03 03:25 -0700
                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 10:51 +0000
                                                              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 11:58 +0000
                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 12:26 +0000
                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 13:05 +0000
                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 14:50 +0000
                                                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 15:00 +0000
                                                                      Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-03 16:27 +0100
                                                                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-03 08:38 -0700
                                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-03 09:07 -0700
                                                                          Re: usecases of void foo(char **b) {} David Brown <david.brown@hesbynett.no> - 2016-11-04 10:00 +0100
                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-03 09:00 -0700
                                                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 16:29 +0000
                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 16:43 +0000
                                                                          Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 17:14 +0000
                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 17:23 +0000
                                                                              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 18:18 +0000
                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 18:38 +0000
                                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-03 18:42 +0000
                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 18:56 +0000
                                                                                  Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-03 12:15 -0700
                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 20:26 +0000
                                                                                      Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-03 13:55 -0700
                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 21:58 +0000
                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-03 19:46 +0000
                                                                                Re: usecases of void foo(char **b) {} "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2016-11-04 02:46 +0800
                                                                                [OT] "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2016-11-04 11:59 +0800
                                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-03 12:14 -0700
                                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-03 15:27 +0000
                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-03 08:45 -0700
                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 16:33 +0000
                                                                  Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-03 09:57 -0700
                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-03 12:12 -0700
                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 02:02 +0000
                                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-04 11:15 +0000
                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 12:12 +0000
                                                                          Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 13:52 +0000
                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 15:28 +0000
                                                                          Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-04 17:17 +0000
                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 19:04 +0000
                                                                              Re: usecases of void foo(char **b) {} Thiago Adams <thiago.adams@gmail.com> - 2016-11-04 12:34 -0700
                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 20:20 +0000
                                                                              Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-05 14:52 +0000
                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 15:42 +0000
                                                                                  Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-05 11:40 -0700
                                                                                    Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-05 21:24 +0000
                                                                                  Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-05 21:23 +0000
                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 21:58 +0000
                                                                                      Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-05 15:57 -0700
                                                                                      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-05 17:00 -0700
                                                                                      Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-06 19:59 +0000
                                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-04 17:48 +0000
                                                                          Re: usecases of void foo(char **b) {} asetofsymbols@gmail.com - 2016-11-04 12:55 -0700
                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 20:30 +0000
                                                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-04 21:13 +0000
                                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-04 15:13 -0700
                                                                                  Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 22:37 +0000
                                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-04 17:02 -0700
                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-04 16:19 -0700
                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 22:58 +0000
                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 02:14 +0000
                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 11:13 +0000
                                                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 14:23 +0000
                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 15:38 +0000
                                                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 16:13 +0000
                                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 17:01 +0000
                                                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-05 14:04 -0700
                                                                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 23:01 +0000
                                                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-05 16:20 -0700
                                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 23:46 +0000
                                                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-06 08:26 -0800
                                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-05 18:41 -0700
                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 23:57 +0000
                                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 00:48 +0000
                                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 02:12 +0000
                                                                                                      Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-06 16:52 +1300
                                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 12:02 +0000
                                                                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 11:02 +0000
                                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 11:45 +0000
                                                                                                          Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 12:51 +0000
                                                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 14:19 +0000
                                                                                                              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 14:49 +0000
                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 15:49 +0000
                                                                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 15:57 +0000
                                                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 16:31 +0000
                                                                                                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 17:40 +0000
                                                                                                                        Re: usecases of void foo(char **b) {} Thiago Adams <thiago.adams@gmail.com> - 2016-11-06 10:16 -0800
                                                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 19:18 +0000
                                                                                                                          Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 19:40 +0000
                                                                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 20:12 +0000
                                                                                                                              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 21:01 +0000
                                                                                                                              Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-07 20:42 +1300
                                                                                                                                Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-07 08:17 +0000
                                                                                                                                  Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-07 22:27 +1300
                                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-07 12:37 +0000
                                                                                                                                  Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-08 11:12 +1300
                                                                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-08 00:09 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-08 13:46 +1300
                                                                                                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 13:10 -0800
                                                                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 21:22 +0000
                                                                                                                              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 21:44 +0000
                                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 21:58 +0000
                                                                                                                                  Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-06 14:11 -0800
                                                                                                                                    Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 22:47 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} "James R. Kuyper" <jameskuyper@verizon.net> - 2016-11-06 18:14 -0500
                                                                                                                                        Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-07 01:36 +0000
                                                                                                                                    Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-07 00:49 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} "James R. Kuyper" <jameskuyper@verizon.net> - 2016-11-07 11:32 -0500
                                                                                                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-07 09:28 -0800
                                                                                                                                        Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-07 10:49 -0800
                                                                                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 22:37 +0000
                                                                                                                              Re: usecases of void foo(char **b) {} jameskuyper@verizon.net - 2016-11-06 14:02 -0800
                                                                                                                              Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-07 10:57 -0800
                                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-07 21:55 +0000
                                                                                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-07 22:38 +0000
                                                                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-07 23:49 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-08 00:02 +0000
                                                                                                                                        Re: usecases of void foo(char **b) {} "James R. Kuyper" <jameskuyper@verizon.net> - 2016-11-07 19:21 -0500
                                                                                                                                        Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-08 00:25 +0000
                                                                                                                                  Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-08 07:02 -0800
                                                                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-08 15:49 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-08 16:03 +0000
                                                                                                                                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-08 08:10 -0800
                                                                                                                                      Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-08 16:31 +0000
                                                                                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-08 18:15 +0000
                                                                                                                                          Re: usecases of void foo(char **b) {} Robert Wessel <robertwessel2@yahoo.com> - 2016-11-09 23:32 -0600
                                                                                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 08:04 -0800
                                                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 20:54 +0000
                                                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 13:02 -0800
                                                                                                                Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 12:53 -0800
                                                                                                                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-11-06 21:06 +0000
                                                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 21:36 +0000
                                                                                                                    Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 14:06 -0800
                                                                                                                      Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-07 00:39 +0000
                                                                                                                        Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 18:12 -0800
                                                                                                                          Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-06 19:18 -0800
                                                                                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-07 10:55 +0000
                                                                                                                            Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-07 12:00 -0800
                                                                                                                              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-07 22:01 +0000
                                                                                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-07 21:03 -0800
                                                                                                                                  Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-08 10:26 +0000
                                                                                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 06:34 -0800
                                                                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-08 08:06 -0800
                                                                                                                                    Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 08:35 -0800
                                                                                                                                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-08 11:26 -0800
                                                                                                                                        Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 11:58 -0800
                                                                                                                                        Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 12:10 -0800
                                                                                                                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-08 12:35 -0800
                                                                                                                                            Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 13:27 -0800
                                                                                                                                              Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-08 21:39 +0000
                                                                                                                                                Re: usecases of void foo(char **b) {} supercat@casperkitty.com - 2016-11-08 13:55 -0800
                                                                                                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-08 16:44 -0800
                                                                                                                Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-07 18:54 +0000
                                                                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 13:27 +0000
                                                                                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 12:59 -0800
                                                                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 21:35 +0000
                                                                                                              Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 13:56 -0800
                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 22:01 +0000
                                                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 14:33 -0800
                                                                                                                Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-06 14:08 -0800
                                                                                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-06 22:32 +0000
                                                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-06 23:00 +0000
                                                                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-07 01:02 +0000
                                                                              Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-05 12:16 +1300
                                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 01:32 +0000
                                                                                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-04 19:13 -0700
                                                                                  Re: usecases of void foo(char **b) {} Ian Collins <ian-news@hotmail.com> - 2016-11-05 16:34 +1300
                                                                                    Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-05 11:29 +0000
                                                                                    Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-05 14:09 -0700
                                                                            Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-04 20:49 +0000
                                                                            Re: usecases of void foo(char **b) {} asetofsymbols@gmail.com - 2016-11-05 02:06 -0700
                                                                      Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-04 09:05 -0700
                                                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-04 17:05 +0000
                                                                Re: usecases of void foo(char **b) {} asetofsymbols@gmail.com - 2016-11-03 15:08 -0700
                                                              Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-03 20:21 +0000
                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 20:35 +0000
                                                                  Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-03 21:47 +0000
                                                                  Re: usecases of void foo(char **b) {} Gareth Owen <gwowen@gmail.com> - 2016-11-03 21:48 +0000
                                                        Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-03 08:02 -0700
                                                          Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-03 18:09 +0000
                                                            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 18:48 +0000
                                                              Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-03 19:53 +0000
                                                                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-03 20:52 +0000
                                                                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-03 23:09 +0000
                                                            Re: usecases of void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-11-04 07:08 -0700
                                                          Re: usecases of void foo(char **b) {} James Kuyper <jameskuyper@verizon.net> - 2016-11-03 22:24 -0400
                                          Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 11:50 -0700
                                        Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-11-01 16:28 +0000
                                  Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 05:07 -0700
                                    Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 05:18 -0700
                                      Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 05:30 -0700
                                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-11-01 05:38 -0700
                        Re: usecases of void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 16:47 -0700
                Re: usecases of void foo(char **b) {} "Pascal J. Bourguignon" <pjb@informatimago.com> - 2016-11-05 04:11 +0100
                  Re: usecases of void foo(char **b) {} Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-11-05 10:48 +0000
                  Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-05 14:06 -0700
            Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 17:38 +0000
              Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 17:44 +0000
                Re: usecases of void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 11:04 -0700
                Re: usecases of void foo(char **b) {} BartC <bc@freeuk.com> - 2016-10-31 19:12 +0000
                  Re: usecases of void foo(char **b) {} Richard Heathfield <rjh@cpax.org.uk> - 2016-10-31 19:18 +0000
              Re: usecases of void foo(char **b) {} "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2016-10-31 10:53 -0700
            Re: usecases of void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-11-01 08:25 -0700
      Re: usecases of   void foo(char **b) {} Keith Thompson <kst-u@mib.org> - 2016-10-31 08:05 -0700
      Re: usecases of   void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 08:27 -0700
    Re: usecases of   void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 07:59 -0700
      Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 10:36 -0700
        Re: usecases of   void foo(char **b) {} John Bode <jfbode1029@gmail.com> - 2016-10-31 11:36 -0700
          Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 12:12 -0700
            Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 12:59 -0700
        Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 13:27 -0700
        Re: usecases of   void foo(char **b) {} fir <profesor.fir@gmail.com> - 2016-10-31 13:40 -0700
    Re: usecases of   void foo(char **b) {} Thiago Adams <thiago.adams@gmail.com> - 2016-11-03 03:58 -0700

Page 11 of 21 — ← Prev page 1 … 9 10 [11] 12 13 … 21  Next page →


#95642 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 12:26 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfad9$15l$1@dont-email.me>
In reply to#95641
On 03/11/2016 11:58, Richard Heathfield wrote:
> On 03/11/16 10:51, BartC wrote:
>> On 03/11/2016 06:07, Gareth Owen wrote:
>>> BartC <bc@freeuk.com> writes:
>>>
>>>> I am not however spreading disinformation just because my view of C is
>>>> wider than your narrow one.
>>>
>>> Have you considered, even for a second, the possibility that you might
>>> be wrong?
>>>
>>
>> Go back and show me what I said that was wrong.
>
> If you've already forgotten all the mistakes we've pointed out in your
> reasoning and in your understanding of C, then there's no point in
> showing you again,

The subthread started with Ben not believing that extra parentheses (a 
consequence of "*" being a prefix op rather that a postfix one) was a 
problem. [1-11-16 22:55 GMT].

Those extra parentheses appear, and for exactly that reason, when making 
use of pointer-to-array. Yet pointer-to-array is rarely used in C, 
despite some advantages.

A coincidence that an idiom that needs parentheses cluttering up the 
code is less popular than one without? Or are they putting people off 
thereby driving the way the language is used? ("p->" also seems more 
popular than "(*p)." I notice...)

If that is the case they I'd say they were a problem because 
pointer-to-array is a more direct and natural way of dealing with array 
references than pointer-to-first-element-of-array.

That's all this is about. People don't need to get into Bible-bashing mode.

>> I implement the concept in other
>> languages and they work even better. I really doubt whether I'm wrong.
>
> Yes, I understand that you don't believe you're wrong.

What is it that I'm wrong about? I'd really like to know!

>> It seems the 'pointer to first element of array' idiom is so ingrained
>> with the regulars that the possibility of doing it any other way is
>> inconceivable.
>
> That depends on what "it" is. Pointers are often used for pointing to
> the first element of an array. They are also often used for other
> purposes. For example, they can be iterated through an array. Or they
> can be used to point at nodes in a graph. Or they can be used for
> pointing at individual objects or functions. So what do you mean by "it"?

Referring indirectly to an array. It would be more natural for the 
address of my house to refer to the whole building than just the first 
or ground floor.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95643 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 13:05 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfcme$922$1@dont-email.me>
In reply to#95642
On 03/11/16 12:26, BartC wrote:
> On 03/11/2016 11:58, Richard Heathfield wrote:
>> On 03/11/16 10:51, BartC wrote:
>>> On 03/11/2016 06:07, Gareth Owen wrote:
>>>> BartC <bc@freeuk.com> writes:
>>>>
>>>>> I am not however spreading disinformation just because my view of C is
>>>>> wider than your narrow one.
>>>>
>>>> Have you considered, even for a second, the possibility that you might
>>>> be wrong?
>>>>
>>>
>>> Go back and show me what I said that was wrong.
>>
>> If you've already forgotten all the mistakes we've pointed out in your
>> reasoning and in your understanding of C, then there's no point in
>> showing you again,
>
> The subthread started with Ben not believing that extra parentheses (a
> consequence of "*" being a prefix op rather that a postfix one) was a
> problem. [1-11-16 22:55 GMT].

They're not a problem. They're a solution.

> Those extra parentheses appear, and for exactly that reason, when making
> use of pointer-to-array. Yet pointer-to-array is rarely used in C,
> despite some advantages.

I'd agree that pointer-to-array is rarely used in C (although rarely != 
never).

> A coincidence that an idiom that needs parentheses cluttering up the
> code is less popular than one without?

Who knows? Frankly, I can't think of a great many uses for a pointer to 
an array, other than perhaps in qsort/bsearch.

> Or are they putting people off
> thereby driving the way the language is used? ("p->" also seems more
> popular than "(*p)." I notice...)

Of course it's more popular. It's prettier.

> If that is the case they I'd say they were a problem because
> pointer-to-array is a more direct and natural way of dealing with array
> references than pointer-to-first-element-of-array.

Not to a vast number of C programmers, it isn't.

> That's all this is about. People don't need to get into Bible-bashing mode.

I don't agree that that's an accurate characterisation of what's happening.

>>> I implement the concept in other
>>> languages and they work even better. I really doubt whether I'm wrong.
>>
>> Yes, I understand that you don't believe you're wrong.
>
> What is it that I'm wrong about? I'd really like to know!

For one thing, you're wrong in thinking that your constant carping on 
about the flaws you perceive in C is a worthwhile subject for discussion 
in this newsgroup. In a newsgroup devoted to language comparisons, it 
might be. But here, it's just noise.

>>> It seems the 'pointer to first element of array' idiom is so ingrained
>>> with the regulars that the possibility of doing it any other way is
>>> inconceivable.
>>
>> That depends on what "it" is. Pointers are often used for pointing to
>> the first element of an array. They are also often used for other
>> purposes. For example, they can be iterated through an array. Or they
>> can be used to point at nodes in a graph. Or they can be used for
>> pointing at individual objects or functions. So what do you mean by "it"?
>
> Referring indirectly to an array. It would be more natural for the
> address of my house to refer to the whole building than just the first
> or ground floor.

Arrays are not houses, and houses are not arrays. If you must use the 
house analogy (and it can be a good one, but I'm not sure it's helpful 
in this case), the array is a /street/ of houses. The house is one 
element in that array.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95646 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 14:50 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfir4$nc$1@dont-email.me>
In reply to#95643
On 03/11/2016 13:05, Richard Heathfield wrote:
> On 03/11/16 12:26, BartC wrote:

>> The subthread started with Ben not believing that extra parentheses (a
>> consequence of "*" being a prefix op rather that a postfix one) was a
>> problem. [1-11-16 22:55 GMT].
>
> They're not a problem. They're a solution.

That's an interesting take on it.

Perhaps then we didn't need all those difficult-to-remember operator 
precedences after all; we could just have solved the problem of 
precedence by using parentheses everywhere.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95647 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 15:00 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfjdt$2v5$1@dont-email.me>
In reply to#95646
On 03/11/16 14:50, BartC wrote:
> On 03/11/2016 13:05, Richard Heathfield wrote:
>> On 03/11/16 12:26, BartC wrote:
>
>>> The subthread started with Ben not believing that extra parentheses (a
>>> consequence of "*" being a prefix op rather that a postfix one) was a
>>> problem. [1-11-16 22:55 GMT].
>>
>> They're not a problem. They're a solution.
>
> That's an interesting take on it.

int *arr[6] = {0};

doesn't define a pointer to an array of 6 int, much as we might like it 
to. So how do we define such a pointer? Ah!

int (*arr)[6] = {0};

Problem SOLVED. The parentheses are a solution.

> Perhaps then we didn't need all those difficult-to-remember operator
> precedences after all; we could just have solved the problem of
> precedence by using parentheses everywhere.

Yes, we could have done. As it turns out, though, we didn't. 
Nevertheless, we do often use parentheses where, strictly, they are not 
required. So, in a sense, we partly-solved the problem of precedence by 
using parentheses in quite a few places.

C is C. WG14 is not about to change the syntax for your sake. Or for 
mine. Or for anyone in this group. So what benefit do you gain from 
moaning about it?

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95652 — Re: usecases of void foo(char **b) {}

FromDavid Brown <david.brown@hesbynett.no>
Date2016-11-03 16:27 +0100
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfl03$900$1@dont-email.me>
In reply to#95646
On 03/11/16 15:50, BartC wrote:
> On 03/11/2016 13:05, Richard Heathfield wrote:
>> On 03/11/16 12:26, BartC wrote:
> 
>>> The subthread started with Ben not believing that extra parentheses (a
>>> consequence of "*" being a prefix op rather that a postfix one) was a
>>> problem. [1-11-16 22:55 GMT].
>>
>> They're not a problem. They're a solution.
> 
> That's an interesting take on it.
> 
> Perhaps then we didn't need all those difficult-to-remember operator
> precedences after all; we could just have solved the problem of
> precedence by using parentheses everywhere.
> 

Use parenthesis if they are needed, or if they make code clearer.  Or
split things up - use extra typedefs to make your types clearer, and
extra local variables to make your expressions clearer.

You only need to deal with strange syntaxes, difficult-to-remember
operator precedences, complicated pointer and type arrangements, odd
parenthesis, etc., if you are looking at someone else's code.  There is
no need for it in your own code.

If you don't like the C syntax for declaring a pointer to an array of
six integers:

	int (*p1)[6];

then use typedefs:

typedef int array_of_6_ints_t[6];
array_of_6_ints_t * p2;

See?  No parenthesis.


And if you want to make your arrays "more solid", so that you can pass
them around by value without any of this scary "pointer" stuff, you can
simply wrap them in a struct:

typedef struct {
	int data[6];
} array2_t;
array2_t * p3;

C gives you plenty of options.  It is up to /you/ if you choose to write
code that confuses you, or if you choose to get worked up about the
possibility that others might write code that you don't like.

[toc] | [prev] | [next] | [standalone]


#95653 — Re: usecases of void foo(char **b) {}

Fromfir <profesor.fir@gmail.com>
Date2016-11-03 08:38 -0700
SubjectRe: usecases of void foo(char **b) {}
Message-ID<62c8681c-a49b-43cc-abf5-3d8d42fa0906@googlegroups.com>
In reply to#95652
> 
> If you don't like the C syntax for declaring a pointer to an array of
> six integers:
> 
> 	int (*p1)[6];
> 
this is horrible syntax to be honest
(sane wersion is what i said "int[6]* p;")

[toc] | [prev] | [next] | [standalone]


#95659 — Re: usecases of void foo(char **b) {}

FromKeith Thompson <kst-u@mib.org>
Date2016-11-03 09:07 -0700
SubjectRe: usecases of void foo(char **b) {}
Message-ID<lnk2ckzgwc.fsf@kst-u.example.com>
In reply to#95652
David Brown <david.brown@hesbynett.no> writes:
[...]
> And if you want to make your arrays "more solid", so that you can pass
> them around by value without any of this scary "pointer" stuff, you can
> simply wrap them in a struct:
>
> typedef struct {
> 	int data[6];
> } array2_t;
> array2_t * p3;

Yes, you can do that -- but it limits you to fixed-length arrays.  If
you want write a single function that can handle arrays of any arbitrary
length, you need to use pointers.  You *can* use a pointer to an
incomplete array type, but a pointer to the element type is more
idiomatic and easier to work with.

[...]

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


#95731 — Re: usecases of void foo(char **b) {}

FromDavid Brown <david.brown@hesbynett.no>
Date2016-11-04 10:00 +0100
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvhimm$ep0$1@dont-email.me>
In reply to#95659
On 03/11/16 17:07, Keith Thompson wrote:
> David Brown <david.brown@hesbynett.no> writes:
> [...]
>> And if you want to make your arrays "more solid", so that you can pass
>> them around by value without any of this scary "pointer" stuff, you can
>> simply wrap them in a struct:
>>
>> typedef struct {
>> 	int data[6];
>> } array2_t;
>> array2_t * p3;
> 
> Yes, you can do that -- but it limits you to fixed-length arrays.  If
> you want write a single function that can handle arrays of any arbitrary
> length, you need to use pointers.  You *can* use a pointer to an
> incomplete array type, but a pointer to the element type is more
> idiomatic and easier to work with.
> 

Yes, that is correct.

In my type of programming, I usually /do/ know exactly how long my
arrays will be - as I greatly prefer them to be statically allocated
rather than dynamically allocated, pre-determined sizes are a necessity.
 (For small systems embedded programming you normally try to avoid
dynamic memory for a number of reasons.)

I don't always wrap my arrays in a struct like that, but sometimes it is
a useful idea, and it lets you treat them as single objects with regard
to pointers, parameter passing, sizeof, etc.

Pointers to the element type are the usual practice for arbitrary sized
arrays, and usually also for plain (not wrapped in a struct) arrays of
known fixed sizes.

[toc] | [prev] | [next] | [standalone]


#95657 — Re: usecases of void foo(char **b) {}

Fromsupercat@casperkitty.com
Date2016-11-03 09:00 -0700
SubjectRe: usecases of void foo(char **b) {}
Message-ID<9bdd25b5-8462-4783-b410-4bbd69c9913d@googlegroups.com>
In reply to#95643
On Thursday, November 3, 2016 at 8:05:54 AM UTC-5, Richard Heathfield wrote:
> On 03/11/16 12:26, BartC wrote:
> > The subthread started with Ben not believing that extra parentheses (a
> > consequence of "*" being a prefix op rather that a postfix one) was a
> > problem. [1-11-16 22:55 GMT].
> 
> They're not a problem. They're a solution.

A "solution" which wouldn't be needed if the syntax didn't create a "problem"
that needed to be solved.

In Pascal as commonly extended (I think UCSD, Turbo Pascal (PC), and both
Think and Macintosh Mascal (Macintosh) all allow this), the syntax:

   Dim X as Array[0..5,0..6] of Array[0..1] of ^Array[0..5] of Integer;

makes it very clear that it is defining a 6x7 array of 2-item arrays of
pointers to 6-item arrays of integer.  No need for parentheses, no matter
how complex the levels of indirection.  An expression to access something
from that would be X[a,b][c]^[d].  Again, no parentheses needed.

[toc] | [prev] | [next] | [standalone]


#95661 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 16:29 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfojs$mvq$1@dont-email.me>
In reply to#95657
On 03/11/16 16:00, supercat@casperkitty.com wrote:
> On Thursday, November 3, 2016 at 8:05:54 AM UTC-5, Richard Heathfield wrote:
>> On 03/11/16 12:26, BartC wrote:
>>> The subthread started with Ben not believing that extra parentheses (a
>>> consequence of "*" being a prefix op rather that a postfix one) was a
>>> problem. [1-11-16 22:55 GMT].
>>
>> They're not a problem. They're a solution.
>
> A "solution" which wouldn't be needed if the syntax didn't create a "problem"
> that needed to be solved.
>
> In Pascal as commonly extended (I think UCSD, Turbo Pascal (PC), and both
> Think and Macintosh Mascal (Macintosh) all allow this), the syntax:
>
>    Dim X as Array[0..5,0..6] of Array[0..1] of ^Array[0..5] of Integer;
>
> makes it very clear that it is defining a 6x7 array of 2-item arrays of
> pointers to 6-item arrays of integer.

Very clear indeed. What was it again? And what were you planning to use 
it for? It's so utterly contrived an example.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95664 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 16:43 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfpe7$q82$1@dont-email.me>
In reply to#95661
On 03/11/2016 16:29, Richard Heathfield wrote:
> On 03/11/16 16:00, supercat@casperkitty.com wrote:
>> On Thursday, November 3, 2016 at 8:05:54 AM UTC-5, Richard Heathfield
>> wrote:
>>> On 03/11/16 12:26, BartC wrote:
>>>> The subthread started with Ben not believing that extra parentheses (a
>>>> consequence of "*" being a prefix op rather that a postfix one) was a
>>>> problem. [1-11-16 22:55 GMT].
>>>
>>> They're not a problem. They're a solution.
>>
>> A "solution" which wouldn't be needed if the syntax didn't create a
>> "problem"
>> that needed to be solved.
>>
>> In Pascal as commonly extended (I think UCSD, Turbo Pascal (PC), and both
>> Think and Macintosh Mascal (Macintosh) all allow this), the syntax:
>>
>>    Dim X as Array[0..5,0..6] of Array[0..1] of ^Array[0..5] of Integer;
>>
>> makes it very clear that it is defining a 6x7 array of 2-item arrays of
>> pointers to 6-item arrays of integer.
>
> Very clear indeed. What was it again? And what were you planning to use
> it for? It's so utterly contrived an example.

It doesn't matter what it is. You can just read it. Like reading 
something in English without using a translator or having to learn a new 
language.

It's "array 6 of array 7 of array 2 of pointer array 6 of integer", 
applying a superficial conversion to Cdecl lingo. I'd write it in one of 
my languages (but keeping 1-based) as:

   [6,7,2]ref[6]int X

In C of course it would be:

  int X ... [6][7][2]

actually I don't know. And as my dinner is getting cold I won't drag out 
Cdecl to help out... But I just remembered my language can do the 
translation to C from the above. It gives me:

  int (*X[6][7][2])[6];

Easy - if you use an extra tool to do the work. But languages shouldn't 
require that.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95667 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 17:14 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfr8o$ps$1@dont-email.me>
In reply to#95664
On 03/11/16 16:43, BartC wrote:
> On 03/11/2016 16:29, Richard Heathfield wrote:
>> On 03/11/16 16:00, supercat@casperkitty.com wrote:
>>> On Thursday, November 3, 2016 at 8:05:54 AM UTC-5, Richard Heathfield
>>> wrote:
>>>> On 03/11/16 12:26, BartC wrote:
>>>>> The subthread started with Ben not believing that extra parentheses (a
>>>>> consequence of "*" being a prefix op rather that a postfix one) was a
>>>>> problem. [1-11-16 22:55 GMT].
>>>>
>>>> They're not a problem. They're a solution.
>>>
>>> A "solution" which wouldn't be needed if the syntax didn't create a
>>> "problem"
>>> that needed to be solved.
>>>
>>> In Pascal as commonly extended (I think UCSD, Turbo Pascal (PC), and
>>> both
>>> Think and Macintosh Mascal (Macintosh) all allow this), the syntax:
>>>
>>>    Dim X as Array[0..5,0..6] of Array[0..1] of ^Array[0..5] of Integer;
>>>
>>> makes it very clear that it is defining a 6x7 array of 2-item arrays of
>>> pointers to 6-item arrays of integer.
>>
>> Very clear indeed. What was it again? And what were you planning to use
>> it for? It's so utterly contrived an example.
>
> It doesn't matter what it is. You can just read it. Like reading
> something in English without using a translator or having to learn a new
> language.

Actually, I couldn't read it, and needed supercat's translation in order 
to understand it.

But if you /can/ read it and if you prefer it, great! Use Pascal instead 
of C.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95668 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 17:23 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfrq6$45d$1@dont-email.me>
In reply to#95667
On 03/11/2016 17:14, Richard Heathfield wrote:
> On 03/11/16 16:43, BartC wrote:

>> It doesn't matter what it is. You can just read it. Like reading
>> something in English without using a translator or having to learn a new
>> language.
>
> Actually, I couldn't read it, and needed supercat's translation in order
> to understand it.

I don't believe you. "Array[0..5] of Integer"? Come on!

The big difference from C is that a declaration is linear; it's not 
nested like an expression, requiring to jump forwards and backwards 
within it, and with the name of whatever is being declared buried 
somewhere inside.

THAT is what makes C hard; take that away and you can usually figure out 
whatever syntax is being used.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95672 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 18:18 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvfv1o$grg$1@dont-email.me>
In reply to#95668
On 03/11/16 17:23, BartC wrote:
> On 03/11/2016 17:14, Richard Heathfield wrote:
>> On 03/11/16 16:43, BartC wrote:
>
>>> It doesn't matter what it is. You can just read it. Like reading
>>> something in English without using a translator or having to learn a new
>>> language.
>>
>> Actually, I couldn't read it, and needed supercat's translation in order
>> to understand it.
>
> I don't believe you.

That is your prerogative.

> "Array[0..5] of Integer"? Come on!

That bit was clear enough. It was the expression as a whole that I could 
not read, in the sense of knowing precisely what it meant. Of course, it 
was possible to follow it by taking advantage of supercat's primer.

> The big difference from C is that a declaration is linear; it's not
> nested like an expression, requiring to jump forwards and backwards
> within it, and with the name of whatever is being declared buried
> somewhere inside.
>
> THAT is what makes C hard; take that away and you can usually figure out
> whatever syntax is being used.

I can generally figure out a C declaration anyway. The way to do it is 
to read it boustrophedonically.

Consider one of the declarations on your favourite page of K&R2:

char (*(*x[3])())[5]

I'm going to show you how to decode this in an extraordinarily simple 
way. It is of course not going to convince you of anything. I do realise 
that. You'll think it's ridiculous. But <shrug>. I'm going to show you 
anyway because this is Usenet, not email, and there may well be people 
reading this article who will benefit from the explanation, even if you 
are determined not to.

I hope (but do not trust) that Usenet will preserve the spacing 
correctly. Use a fixed-pitch font (or "Show Original" in GG).

^ = up, > = right, V = down, < = left

Start with the declaration, and then spiral clockwise, starting by going 
up (or, in the southern hemisphere, spiral anticlockwise and start by 
going down):

              >>>>V
              ^   V
char (*  (*  x  [3])  ( ) )  [5]

We have spiraled from the x to the [3], so:

"x is an array 3 of"

              >>>>V
              ^   V
char (*  (*  x  [3])  ( ) )  [5]
           ^      V
           ^<<<<<<<

We have spiraled from the [3] to the * (pointer), so:

"x is an array 3 of pointers to"

           >>>>>>>>>>>>V
           ^           V
           ^  >>>>V    V
           ^  ^   V    V
char (*  (*  x  [3]) ( ) )  [5]
           ^      V
           ^<<<<<<<

We have spiraled from the * to the () - a function, so:

"x is an array 3 of pointers to function returning"


           >>>>>>>>>>>>V
           ^           V
           ^  >>>>V    V
           ^  ^   V    V
char (*  (*  x  [3]) ( ) )  [5]
       ^   ^      V    V
       ^   ^<<<<<<<    V
       ^               V
       ^<<<<<<<<<<<<<<<<

We have spiraled from the () to the * - a pointer, so:

"x is an array 3 of pointers to function returning a pointer to"

       >>>>>>>>>>>>>>>>>>>>>>>V
       ^                      V
       ^   >>>>>>>>>>>>V      V
       ^   ^           V      V
       ^   ^  >>>>V    V      V
       ^   ^  ^   V    V      V
char (*  (*  x  [3]) ( ) )  [5]
       ^   ^      V    V
       ^   ^<<<<<<<    V
       ^               V
       ^<<<<<<<<<<<<<<<<

We have spiraled from the * to the [5], so:

"x is an array 3 of pointers to function returning a pointer to an array 
5 of"

       >>>>>>>>>>>>>>>>>>>>>>>V
       ^                      V
       ^   >>>>>>>>>>>>V      V
       ^   ^           V      V
       ^   ^  >>>>V    V      V
       ^   ^  ^   V    V      V
char (*  (*  x  [3]) ( ) )  [5]
  ^    ^   ^      V    V      V
  ^    ^   ^<<<<<<<    V      V
  ^    ^               V      V
  ^    ^<<<<<<<<<<<<<<<<      V
  ^                           V
  ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<

We have spiraled from the [5] to the char, so:

"x is an array 3 of pointers to function returning a pointer to an array 
5 of char"

and we're done. The only caveat is that you need to keep your spiral 
inside any parentheses until everything in them has been dealt with, so 
that you correctly distinguish between, for example:

int (*x)[6] (deal with the * first)

and

int *x[6] (deal with the [6] first).

Linear it isn't. But there is still a very, very strong pattern that you 
can use to decipher any declaration.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95677 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 18:38 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvg072$lcq$1@dont-email.me>
In reply to#95672
On 03/11/2016 18:18, Richard Heathfield wrote:

> Consider one of the declarations on your favourite page of K&R2:
>
> char (*(*x[3])())[5]
>
> I'm going to show you how to decode this in an extraordinarily simple
> way. It is of course not going to convince you of anything.

Well, it's not 'extraordinarily simple'. That description is reserved 
for K&R's English translation of it.

> Start with the declaration, and then spiral clockwise, starting by going
> up (or, in the southern hemisphere, spiral anticlockwise and start by
> going down):
>
>              >>>>V
>              ^   V
> char (*  (*  x  [3])  ( ) )  [5]


Some beautiful-looking ASCII art. But, what happens above where there is 
no name in the declaration? As in:

   (char (*(*[3])())[5])

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95678 — Re: usecases of void foo(char **b) {}

FromRichard Heathfield <rjh@cpax.org.uk>
Date2016-11-03 18:42 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvg0ei$lvn$1@dont-email.me>
In reply to#95677
On 03/11/16 18:38, BartC wrote:
> On 03/11/2016 18:18, Richard Heathfield wrote:
>
>> Consider one of the declarations on your favourite page of K&R2:
>>
>> char (*(*x[3])())[5]
>>
>> I'm going to show you how to decode this in an extraordinarily simple
>> way. It is of course not going to convince you of anything.
>
> Well, it's not 'extraordinarily simple'.

Told you so.

> That description is reserved
> for K&R's English translation of it.
>
>> Start with the declaration, and then spiral clockwise, starting by going
>> up (or, in the southern hemisphere, spiral anticlockwise and start by
>> going down):
>>
>>              >>>>V
>>              ^   V
>> char (*  (*  x  [3])  ( ) )  [5]
>
>
> Some beautiful-looking ASCII art. But, what happens above where there is
> no name in the declaration? As in:
>
>   (char (*(*[3])())[5])

Easy. It doesn't compile.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#95681 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 18:56 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvg18d$pa9$1@dont-email.me>
In reply to#95678
On 03/11/2016 18:42, Richard Heathfield wrote:
> On 03/11/16 18:38, BartC wrote:
>> On 03/11/2016 18:18, Richard Heathfield wrote:

>>>              >>>>V
>>>              ^   V
>>> char (*  (*  x  [3])  ( ) )  [5]
>>
>>
>> Some beautiful-looking ASCII art. But, what happens above where there is
>> no name in the declaration? As in:
>>
>>   (char (*(*[3])())[5])
>
> Easy. It doesn't compile.

Are you sure? Try this:

  sizeof (char (*(*[3])())[5]);

(Although it is true that that /particular/ example can't be used as a 
cast, and presumably not as an unnamed function parameter, because it 
apparently declares an array. Other complex but unnamed declarations can 
be.)

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95686 — Re: usecases of void foo(char **b) {}

FromJohn Bode <jfbode1029@gmail.com>
Date2016-11-03 12:15 -0700
SubjectRe: usecases of void foo(char **b) {}
Message-ID<7f629e4a-a3ab-49be-b4b3-84df8e4764a0@googlegroups.com>
In reply to#95677
On Thursday, November 3, 2016 at 1:38:59 PM UTC-5, Bart wrote:
> On 03/11/2016 18:18, Richard Heathfield wrote:
> 
> > Consider one of the declarations on your favourite page of K&R2:
> >
> > char (*(*x[3])())[5]
> >
> > I'm going to show you how to decode this in an extraordinarily simple
> > way. It is of course not going to convince you of anything.
> 
> Well, it's not 'extraordinarily simple'. That description is reserved 
> for K&R's English translation of it.
> 
> > Start with the declaration, and then spiral clockwise, starting by going
> > up (or, in the southern hemisphere, spiral anticlockwise and start by
> > going down):
> >
> >              >>>>V
> >              ^   V
> > char (*  (*  x  [3])  ( ) )  [5]
> 
> 
> Some beautiful-looking ASCII art. But, what happens above where there is 
> no name in the declaration? As in:
> 
>    (char (*(*[3])())[5])
> 

The rules are exactly the same - *[3] is parsed the same way *x[3] is, as
an unnamed 3-element array of pointer.  If you see (*)[3], then its an
unnamed pointer to 3-element array.  *() is an unnamed function returning a 
pointer, and (*)() is a pointer to an unnamed function.  

To pound on this again some more, once you internalize the rules, it gets
easy to read C declaration syntax.  It really, really does.  

C's declarator syntax is baroque, but once you learn how it works it's 
actually kind of neat, and packs a lot of information into a small space.
IT WOULD HAVE BEEN NICE if dmr had made the dereference operator postfix
instead of prefix, but he didn't, so yay spiral rule.  

[toc] | [prev] | [next] | [standalone]


#95692 — Re: usecases of void foo(char **b) {}

FromBartC <bc@freeuk.com>
Date2016-11-03 20:26 +0000
SubjectRe: usecases of void foo(char **b) {}
Message-ID<nvg6gl$efv$1@dont-email.me>
In reply to#95686
On 03/11/2016 19:15, John Bode wrote:
> On Thursday, November 3, 2016 at 1:38:59 PM UTC-5, Bart wrote:
>> On 03/11/2016 18:18, Richard Heathfield wrote:
>>
>>> Consider one of the declarations on your favourite page of K&R2:
>>>
>>> char (*(*x[3])())[5]
>>>
>>> I'm going to show you how to decode this in an extraordinarily simple
>>> way. It is of course not going to convince you of anything.
>>
>> Well, it's not 'extraordinarily simple'. That description is reserved
>> for K&R's English translation of it.
>>
>>> Start with the declaration, and then spiral clockwise, starting by going
>>> up (or, in the southern hemisphere, spiral anticlockwise and start by
>>> going down):
>>>
>>>              >>>>V
>>>              ^   V
>>> char (*  (*  x  [3])  ( ) )  [5]
>>
>>
>> Some beautiful-looking ASCII art. But, what happens above where there is
>> no name in the declaration? As in:
>>
>>    (char (*(*[3])())[5])
>>
>
> The rules are exactly the same - *[3] is ...

How do you know that that is the start point? Another algorithm to 
execute first?

That was a nonsense type-spec, this is a real one (translated to C):

       pcptr = (*(int * (**) (void))pcptr)();

This includes an assignment, dereference, cast and function call, but 
which bit is which?

The original language also uses 4 parentheses to C's 10. (It also used 2 
function dereferences, but only one appears here, due to a C quirk where 
you can leave out one dereference.)

However much you try and dress it up, complex C type just aren't very 
friendly.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#95697 — Re: usecases of void foo(char **b) {}

FromJohn Bode <jfbode1029@gmail.com>
Date2016-11-03 13:55 -0700
SubjectRe: usecases of void foo(char **b) {}
Message-ID<35c56dde-ed8c-48b1-b054-b224143ca844@googlegroups.com>
In reply to#95692
On Thursday, November 3, 2016 at 3:26:33 PM UTC-5, Bart wrote:
> On 03/11/2016 19:15, John Bode wrote:
> > On Thursday, November 3, 2016 at 1:38:59 PM UTC-5, Bart wrote:
> >> On 03/11/2016 18:18, Richard Heathfield wrote:
> >>
> >>> Consider one of the declarations on your favourite page of K&R2:
> >>>
> >>> char (*(*x[3])())[5]
> >>>
> >>> I'm going to show you how to decode this in an extraordinarily simple
> >>> way. It is of course not going to convince you of anything.
> >>
> >> Well, it's not 'extraordinarily simple'. That description is reserved
> >> for K&R's English translation of it.
> >>
> >>> Start with the declaration, and then spiral clockwise, starting by going
> >>> up (or, in the southern hemisphere, spiral anticlockwise and start by
> >>> going down):
> >>>
> >>>              >>>>V
> >>>              ^   V
> >>> char (*  (*  x  [3])  ( ) )  [5]
> >>
> >>
> >> Some beautiful-looking ASCII art. But, what happens above where there is
> >> no name in the declaration? As in:
> >>
> >>    (char (*(*[3])())[5])
> >>
> >
> > The rules are exactly the same - *[3] is ...
> 
> How do you know that that is the start point? Another algorithm to 
> execute first?

Familiarity with the syntax.

> 
> That was a nonsense type-spec, this is a real one (translated to C):
> 
>        pcptr = (*(int * (**) (void))pcptr)();
> 
> This includes an assignment, dereference, cast and function call, but 
> which bit is which?

(int *(**)(void)) pcptr is the cast operation.  It casts pcptr to type
pointer to pointer to function taking void and returning pointer to int.

*(int *(**)(void)) pcptr is the dereference. The result of the 
dereference is a pointer to a function taking void and returning pointer
to int.

(*(int *(**)(void)) pcptr)() is the function call, executed via the pointer
value evaluated above.

pcptr = (*(int *(**)(void))pcptr)() is the assignment.  

Not sure about the validity of it, though - are we treating pcptr as both
a pointer to an int and a pointer to a function?  That seems...wrong, 
somehow.

> 
> The original language also uses 4 parentheses to C's 10. (It also used 2 
> function dereferences, but only one appears here, due to a C quirk where 
> you can leave out one dereference.)
> 
> However much you try and dress it up, complex C type just aren't very 
> friendly.
> 

Neither is Japanese to a native English speaker.  The vocabulary is alien,
the grammar is weird, and there are three different, completely alien
orthographies you have to learn.

Obviously, no native English speaker can ever learn to read or speak 
Japanese fluently.  

[toc] | [prev] | [next] | [standalone]


Page 11 of 21 — ← Prev page 1 … 9 10 [11] 12 13 … 21  Next page →

Back to top | Article view | comp.lang.c


csiph-web