Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #162502
| From | Manfred <noname@add.invalid> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Freeing a dynamically allocated array of structs within a struct in C |
| Date | 2021-08-30 21:49 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <sgjcob$19ot$1@gioia.aioe.org> (permalink) |
| References | (1 earlier) <cvinigd0u1jrb02ch20cequm2nh08copvh@4ax.com> <sgglni$1vg$5@dont-email.me> <sgj0bf$259$1@dont-email.me> <sgj75c$ovg$1@dont-email.me> <sgjaqt$fi4$1@dont-email.me> |
On 8/30/2021 9:16 PM, Lew Pitcher wrote: > On Mon, 30 Aug 2021 14:14:03 -0400, James Kuyper wrote: > >> On 8/30/21 12:17 PM, Lew Pitcher wrote: >>> On Sun, 29 Aug 2021 19:04:18 +0000, Lew Pitcher wrote: >>> >>>> FWIW >>>> >>>> On Sun, 29 Aug 2021 11:44:40 -0700, Barry Schwarz wrote: >> ... >>>>> strsep appears to be a function you wrote. >>>> >>>> strsep() comes from the 4.4 BSD Unix standard C library extensions. >>>> >>>> [snip] >>> >>> As for strsep(), my personal opinion is that the OP's program would be >>> better served if the OP had used the C standard function strtok(). >> >> I was never a strong fan of strtok(), > [snip] >> However, to suggest strtok() as a replacement seems masochistic. >> Would you care to expand on that comment? > > From the original post, it appears that the OP is just learning C. > Certainly, the posted code contains no sophistication that you might > expect from an experienced C programmer. It lacks, for instance, the > simple error handling logic you would expect around malloc()'ed pointers, > and string-handling functions. > > The code uses strsep() to break apart a simple string into two elements, > using fixed delimiters. While the strsep() function is well-defined by > POSIX, it is not defined as part of the C standard function library. > Pedants here have already noted that strsep() isn't part of C, and perhaps > should not be discussed here. > > However, the C standard function library /does/ contain a function similar > to strsep(); one that performs essentially the same task, but with the > full support and topicality of the standard C language and library: strtok() > > strtok(), for all it's flaws, would work /just as well/ in the OP's student > code, and would have made that part of the code less contentious to the > pedants in this forum. Since we are discussing alternatives to strsep, strtok, it might be worth mentioning: strtok_r: does the right thing, but it's POSIX, not ISO C - included in glibc. strtok_s: does also the right thing, arguably more clumsy, it is ISO C, _but_ as part of the controversial (and optional) Annex K - not included in glibc. Note the /finesse/ in the postfixes... > > In a prior post, I addressed the other, shall we say, "deviation" that the > OP's code had from standard C: the use of the POSIX strdup() function. The > OP can satisfy the pedants here by using a single, standard C compliant, > if() statement augmented by calls to two standard C functions. > > All this to say that, while /I/ consider neither strdup() nor strsep() to be > off-topic here, I suggest strtok() as an alternative to strsep() to give > the OP some breathing-room from the pedants here that /do/ consider them > off-topic. > Taking a deep breath...
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Freeing a dynamically allocated array of structs within a struct in C Bithov Vinu Student <vinub@calday.co.uk> - 2021-08-29 08:34 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-29 15:43 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-29 16:12 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-09-06 05:46 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-29 17:17 +0100
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-29 20:01 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-29 18:21 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-29 20:34 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-30 09:01 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Robert Latest <boblatest@yahoo.com> - 2021-08-31 05:44 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Kaz Kylheku <563-365-8930@kylheku.com> - 2021-08-31 07:50 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-31 10:59 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-30 09:45 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-30 10:15 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Kaz Kylheku <563-365-8930@kylheku.com> - 2021-08-29 18:14 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-29 18:18 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Barry Schwarz <schwarzb@delq.com> - 2021-08-29 11:44 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-29 19:04 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Barry Schwarz <schwarzb@delq.com> - 2021-08-29 14:15 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C scott@slp53.sl.home (Scott Lurndal) - 2021-08-29 21:19 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Barry Schwarz <schwarzb@delq.com> - 2021-08-29 18:14 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-30 18:27 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-30 16:17 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-08-30 14:14 -0400
Re: Freeing a dynamically allocated array of structs within a struct in C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-30 11:39 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-08-31 10:08 -0400
Re: Freeing a dynamically allocated array of structs within a struct in C Kaz Kylheku <563-365-8930@kylheku.com> - 2021-09-01 04:40 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-01 00:57 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-08-30 19:16 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Manfred <noname@add.invalid> - 2021-08-30 21:49 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-08-30 12:49 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C scott@slp53.sl.home (Scott Lurndal) - 2021-08-30 22:31 +0000
Re: Freeing a dynamically allocated array of structs within a struct in C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-09-30 07:04 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-29 15:38 -0700
Re: Freeing a dynamically allocated array of structs within a struct in C Manfred <noname@add.invalid> - 2021-08-30 14:21 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-30 18:29 +0200
Re: Freeing a dynamically allocated array of structs within a struct in C Bart <bc@freeuk.com> - 2021-08-30 18:30 +0100
Re: Freeing a dynamically allocated array of structs within a struct in C Bonita Montero <Bonita.Montero@gmail.com> - 2021-08-31 04:22 +0200
csiph-web