git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: size_t vs "unsigned long"

From
Pierre Habouzit <madcoder@debian.org>
Date
Oct 3, 2007, 21:36 UTC
Message-ID
<20071003213601.GD28188@artemis.corp>
In-Reply-To
<200710032320.00263.wielemak@science.uva.nl>
On Wed, Oct 03, 2007 at 09:19:59PM +0000, Jan Wielemaker wrote:
Show 23 quoted lines
> On Wednesday 03 October 2007 22:48, Pierre Habouzit wrote:
> > On Wed, Oct 03, 2007 at 08:30:04PM +0000, Junio C Hamano wrote:
> > > Traditionally, inside git, we have used the length of things
> > > with "unsigned long" for pretty much anything, except where we
> > > wanted the length exactly sized we used int32_t, uint64_t and
> > > friends.
> > >
> > > A few places pass pointer to unsigned long as the second
> > > parameter to strbuf_detach(), triggering type mismatch warnings.
> > > An easy way out is to change strbuf_detach() to take a pointer
> > > to ulong but I think it is going backwards.  Most places that
> > > use "unsigned long" can safely be converted (and made more
> > > correct) to use size_t.
> >
> >   Well, afaict, on every linux archs I know of, unsigned longs and
> > size_t are the same. Though, I don't know if that holds for the msys
> > port, and if that does not holds, then a s/unsigned long/size_t/ would
> > help them. Else, for consistency sake, I believe the change is a good
> > one.
> 
> Surely on the Microsoft 64-bit compilers size_t is 64-bits and long is
> 32-bits.  Don't blame me, I'm just the messenger that learned the hard
> way ...
  Yeah, I've been wondering, and it's the information I had. well, the
information I had is that sizeof(size_t) is 4 on win32, and 8 on win64,
OTOH (and this one I'm sure), on windows, longs are 32bits on both (32
and 64 bits ABIs).
  So replacing unsigned long with size_t's will help the msys port,
hence I had some insight that this could prove useful, now I'm sure :)
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Jan WielemakerNext: Jan Wielemaker
Message 5 of 8 in “size_t vs "unsigned long"”
  1. Junio C HamanoOct 3, 2007
  2. Pierre HabouzitOct 3, 2007
  3. Junio C HamanoOct 3, 2007
  4. Jan WielemakerOct 3, 2007
  5. Pierre HabouzitOct 3, 2007
  6. Jan WielemakerOct 4, 2007
  7. Florian WeimerOct 3, 2007
  8. Kyle MoffettOct 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.