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

Re: size_t vs "unsigned long"

From
JWJan Wielemaker <wielemak@science.uva.nl>
Date
Oct 3, 2007, 21:19 UTC
Message-ID
<200710032320.00263.wielemak@science.uva.nl>
In-Reply-To
<20071003204801.GC28188@artemis.corp>
On Wednesday 03 October 2007 22:48, Pierre Habouzit wrote:
Show 18 quoted lines
> 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 ...

	--- Jan
Previous: Junio C HamanoNext: Pierre Habouzit
Message 4 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.