Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Lowell Gilbert <lgusenet@be-well.ilk.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: formats and endians |
| Date | 2014-12-16 14:55 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <44iohbfjys.fsf@be-well.ilk.org> (permalink) |
| References | <f80336ac-84d2-43dd-bdd3-cb9f8ca95c60@googlegroups.com> <m6pfea$5on$1@dont-email.me> <e86ce2b2-32e4-4aad-97d8-4410bb59fae6@googlegroups.com> <448ui7h7um.fsf@be-well.ilk.org> <01cf0873-dd98-437c-8f54-5b33bba7d553@googlegroups.com> |
Malcolm McLean <malcolm.mclean5@btinternet.com> writes: > On Tuesday, December 16, 2014 4:34:20 PM UTC, Lowell Gilbert wrote: >> >> For document formats, try to avoid binary entirely. Stick with something >> that someone can easily read in the future without having documentation >> on the format. Endian-ness is only one of several reasons for this. >> > Writing robust text format parsers is unfortunately difficult. > Consider an rgba image. > > The binary read is just > > width = fget16(fp); > height = fget16(fp); > if(width <= 0 || height <= 0) > goto parse_error; > /* hard to check for overflow, let's do this */ > if( (width*height)/width != height) > goto parse_error; > if( (width *height*4)/4 != width*height) > goto parse_error; > ptr = malloc(width*height *4); > if(!ptr) > goto out_of_memory; > sz = fread(ptr, 4, width *height, fp); > if(sz != width * height) > goto parse_error; > > That's with paranoid checks on whether width * height overflows. > > To do the same with text is more difficult. You've got to check > that every single number is present and in valid format, then > you've got to check that it's not out of range for the low-level > read, then you've got to check that it's in range for the values. To put it more abstractly, text-formatted data brings some scaling problems. Their advantages are strongest for uses that are wide enough to need to interoperate between multiple implementations but not wide enough for someone to bother describing them with enough care to create an unambiguous standard. [I should note that on my current project I never considered anything but a binary format.] -- Lowell Gilbert, embedded/networking software engineer http://be-well.ilk.org/~lowell/
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 04:49 -0800
formats and endians John Bode <jfbode1029@gmail.com> - 2014-12-16 05:24 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 05:38 -0800
Re: formats and endians Kleuske <kleuske@nowhere.net> - 2014-12-16 13:55 +0000
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 11:49 -0600
Re: formats and endians BGB <cr88192@hotmail.com> - 2014-12-16 21:37 -0600
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-17 01:08 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-17 02:42 -0800
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-18 14:38 -0600
Re: formats and endians Rosario193 <Rosario@invalid.invalid> - 2014-12-18 23:09 +0100
Re: formats and endians BGB <cr88192@hotmail.com> - 2014-12-18 16:52 -0600
Re: formats and endians Kleuske <kleuske@nowhere.net> - 2014-12-17 11:11 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-17 03:49 -0800
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-18 16:28 -0600
Re: formats and endians BGB <cr88192@hotmail.com> - 2014-12-18 19:38 -0600
Re: formats and endians Kleuske <kleuske@nowhere.net> - 2014-12-21 14:17 +0000
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-22 02:19 -0800
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2015-01-15 12:18 -0600
Re: formats and endians Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-01-15 22:35 +0000
Re: formats and endians raltbos@xs4all.nl (Richard Bos) - 2015-01-20 16:06 +0000
Re: formats and endians Barry Schwarz <schwarzb@dqel.com> - 2015-01-22 15:41 -0800
Re: formats and endians Robert Wessel <robertwessel2@yahoo.com> - 2015-01-23 00:45 -0600
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2015-01-23 08:52 +0000
Re: formats and endians Robert Wessel <robertwessel2@yahoo.com> - 2015-01-23 05:47 -0600
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-01-23 03:51 -0800
Re: formats and endians Bartc <bc@freeuk.com> - 2015-01-23 12:18 +0000
Re: formats and endians raltbos@xs4all.nl (Richard Bos) - 2015-01-23 13:49 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2015-01-23 07:02 -0800
Re: formats and endians fmassei@gmail.com - 2015-01-23 07:39 -0800
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2015-01-23 10:38 -0500
Re: formats and endians Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-23 17:45 +0000
Re: formats and endians James Kuyper <jameskuyper@verizon.net> - 2015-01-23 12:59 -0500
Re: formats and endians Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-23 18:30 +0000
Re: formats and endians James Kuyper <jameskuyper@verizon.net> - 2015-01-26 12:35 -0500
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2015-01-26 18:15 +0000
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-01-26 10:53 -0800
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2015-01-26 19:06 +0000
Re: formats and endians Les Cargill <lcargill99@comcast.com> - 2015-01-26 17:54 -0600
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2015-01-26 19:09 -0600
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2015-01-27 01:49 +0000
Re: formats and endians James Kuyper <jameskuyper@verizon.net> - 2015-01-26 21:37 -0500
Re: formats and endians raltbos@xs4all.nl (Richard Bos) - 2015-01-23 22:33 +0000
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2015-01-23 18:02 +0000
Re: formats and endians Greg Martin <greg.at.softsprocket@dot.com> - 2015-01-23 18:50 +0000
Re: formats and endians glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-01-24 00:01 +0000
Re: formats and endians raltbos@xs4all.nl (Richard Bos) - 2015-01-24 10:05 +0000
Re: formats and endians glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-01-24 11:57 +0000
Re: formats and endians Geoff <geoff@invalid.invalid> - 2015-01-24 07:48 -0800
Re: formats and endians Bartc <bc@freeuk.com> - 2015-01-24 10:43 +0000
Re: formats and endians Geoff <geoff@invalid.invalid> - 2015-01-24 07:52 -0800
Re: formats and endians raltbos@xs4all.nl (Richard Bos) - 2015-01-23 13:51 +0000
Re: formats and endians John Bode <jfbode1029@gmail.com> - 2014-12-16 06:56 -0800
Re: formats and endians Robert Wessel <robertwessel2@yahoo.com> - 2014-12-16 13:20 -0600
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 18:00 -0600
Re: formats and endians "Bill Cunningham" <nospam@nspam.invalid> - 2014-12-17 16:32 -0500
Re: formats and endians David Brown <david.brown@hesbynett.no> - 2014-12-16 15:26 +0100
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 06:57 -0800
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2014-12-16 11:34 -0500
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 08:47 -0800
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 17:02 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 10:49 -0800
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 19:10 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 11:28 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 11:43 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 11:58 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 12:20 -0800
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 20:21 +0000
Re: formats and endians Keith Thompson <kst-u@mib.org> - 2014-12-16 13:08 -0800
Re: formats and endians Richard Heathfield <invalid@see.sig.invalid> - 2014-12-16 21:19 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 13:27 -0800
Re: formats and endians Tim Rentsch <txr@alumni.caltech.edu> - 2014-12-16 16:41 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 13:22 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 14:00 -0800
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 22:26 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 14:54 -0800
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 15:09 -0800
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 20:08 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 12:48 -0800
Re: formats and endians Kaz Kylheku <kaz@kylheku.com> - 2014-12-16 22:21 +0000
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-16 22:39 +0000
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 15:32 -0800
Re: formats and endians glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-17 00:51 +0000
Re: formats and endians BartC <bc@freeuk.com> - 2014-12-17 11:04 +0000
Re: formats and endians glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-17 17:04 +0000
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2014-12-16 12:29 -0500
Re: formats and endians Ken Brody <kenbrody@spamcop.net> - 2014-12-16 12:40 -0500
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2014-12-16 13:10 -0500
Re: formats and endians Kaz Kylheku <kaz@kylheku.com> - 2014-12-16 18:35 +0000
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 12:57 -0600
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2014-12-16 15:11 -0500
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 18:10 -0600
Re: formats and endians fir <profesor.fir@gmail.com> - 2014-12-16 10:51 -0800
Re: formats and endians glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-16 19:43 +0000
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-16 10:37 -0800
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 13:05 -0600
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-16 11:49 -0800
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 17:16 -0600
Re: formats and endians Lowell Gilbert <lgusenet@be-well.ilk.org> - 2014-12-16 14:55 -0500
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 17:48 -0600
Re: formats and endians BGB <cr88192@hotmail.com> - 2014-12-17 00:18 -0600
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-20 12:21 -0600
Re: formats and endians BGB <cr88192@hotmail.com> - 2014-12-22 01:38 -0600
Re: formats and endians Stephen Sprunk <stephen@sprunk.org> - 2014-12-16 11:45 -0600
Re: formats and endians Michael Angelo Ravera <maravera@prodigy.net> - 2014-12-18 16:50 -0800
Re: formats and endians Nobody <nobody@nowhere.invalid> - 2014-12-17 04:51 +0000
Re: formats and endians Malcolm McLean <malcolm.mclean5@btinternet.com> - 2014-12-19 10:16 -0800
csiph-web