* Re: mdocml: The st_size member of struct stat is off_t, which is signed, all [not found] ` <20150310214738.GA20964@britannica.bec.de> @ 2015-03-11 1:10 ` Ingo Schwarze 2015-03-11 1:18 ` Joerg Sonnenberger 0 siblings, 1 reply; 3+ messages in thread From: Ingo Schwarze @ 2015-03-11 1:10 UTC (permalink / raw) To: Joerg Sonnenberger; +Cc: tech [ Moving this to tech@ ] Hi Joerg, Joerg Sonnenberger wrote on Tue, Mar 10, 2015 at 10:47:38PM +0100: > On Tue, Mar 10, 2015 at 09:18:22AM -0500, schwarze@mdocml.bsd.lv wrote: >> Log Message: >> ----------- >> The st_size member of struct stat is off_t, which is signed, >> all required by POSIX. So don't compare it against against >> an unsigned constant. > Well, the change truncates the value. How so? The actual width of size_t will hardly be narrower than the width of off_t on any sane platform, or am i mistaken? The values of off_t are positive, so the range of size_t completely covers the range of off_t that can occur. > Wouldn't it make more sense to use just use 0x7fffffff > as constant instead? I think POSIX ensures that int is 32bit. That seems completely equivalent to me, but maybe i'm missing something? Arguably, a comparison to 0x7fffffff is easier to understand than a cast plus a comparison to (1 << 31), though - hmm... Yours, Ingo -- To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: mdocml: The st_size member of struct stat is off_t, which is signed, all 2015-03-11 1:10 ` mdocml: The st_size member of struct stat is off_t, which is signed, all Ingo Schwarze @ 2015-03-11 1:18 ` Joerg Sonnenberger 2015-03-11 13:30 ` Ingo Schwarze 0 siblings, 1 reply; 3+ messages in thread From: Joerg Sonnenberger @ 2015-03-11 1:18 UTC (permalink / raw) To: tech On Wed, Mar 11, 2015 at 02:10:32AM +0100, Ingo Schwarze wrote: > [ Moving this to tech@ ] > > Hi Joerg, > > Joerg Sonnenberger wrote on Tue, Mar 10, 2015 at 10:47:38PM +0100: > > On Tue, Mar 10, 2015 at 09:18:22AM -0500, schwarze@mdocml.bsd.lv wrote: > > >> Log Message: > >> ----------- > >> The st_size member of struct stat is off_t, which is signed, > >> all required by POSIX. So don't compare it against against > >> an unsigned constant. > > > Well, the change truncates the value. > > How so? The actual width of size_t will hardly be narrower > than the width of off_t on any sane platform, or am i mistaken? Most 32bit platforms are exactly like that. size_t will be 32bit, off_t will be 64bit. So casting the off_t to size_t will rip out the higher bits. Joerg -- To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: mdocml: The st_size member of struct stat is off_t, which is signed, all 2015-03-11 1:18 ` Joerg Sonnenberger @ 2015-03-11 13:30 ` Ingo Schwarze 0 siblings, 0 replies; 3+ messages in thread From: Ingo Schwarze @ 2015-03-11 13:30 UTC (permalink / raw) To: Joerg Sonnenberger; +Cc: tech Hi Joerg, Joerg Sonnenberger wrote on Wed, Mar 11, 2015 at 02:18:01AM +0100: > On Wed, Mar 11, 2015 at 02:10:32AM +0100, Ingo Schwarze wrote: >> Joerg Sonnenberger wrote on Tue, Mar 10, 2015 at 10:47:38PM +0100: >>> On Tue, Mar 10, 2015 at 09:18:22AM -0500, schwarze@mdocml.bsd.lv wrote: >>>> Log Message: >>>> ----------- >>>> The st_size member of struct stat is off_t, which is signed, >>>> all required by POSIX. So don't compare it against against >>>> an unsigned constant. >>> Well, the change truncates the value. >> How so? The actual width of size_t will hardly be narrower >> than the width of off_t on any sane platform, or am i mistaken? > Most 32bit platforms are exactly like that. size_t will be 32bit, off_t > will be 64bit. So casting the off_t to size_t will rip out the higher > bits. Indeed, i misread header files. So i changed the line in the way you proposed. Thanks for the cluestick! Ingo -- To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-11 13:30 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <1281237932347383369.enqueue@fantadrom.bsd.lv> [not found] ` <20150310214738.GA20964@britannica.bec.de> 2015-03-11 1:10 ` mdocml: The st_size member of struct stat is off_t, which is signed, all Ingo Schwarze 2015-03-11 1:18 ` Joerg Sonnenberger 2015-03-11 13:30 ` Ingo Schwarze
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).