Re: git-grep Bus Error
- From
Brian Gernhardt <benji@silverinsanity.com>
- Date
- Mar 9, 2009, 00:58 UTC
- Message-ID
- <49C11A48-5246-4477-9F33-26942B8C99D9@silverinsanity.com>
- In-Reply-To
- <20090308234141.GJ12880@zoy.org>
On Mar 8, 2009, at 7:41 PM, Sam Hocevar wrote:
Show 17 quoted lines
> On Sun, Mar 08, 2009, Brian Gernhardt wrote: > >>> printf( "%d %d %d", >>> match.rm_so, match.rm_eo, >>> match.rm_eo - match.rm_so ); >> >> .gitignore:0 0 3\033[31m\033[1m(nugit >> .mailmap:23 0 26(null)\033[31m\033[1m(nugit-shortlog to fix a few >> botched name translations-shortlog to fix a few botched name >> translations >> >> And now I'm baffled. Apparently my computer thinks 0 - 0 == 3 and >> 0 - >> 23 == 26. > > rm_so and rm_eo are ints on Linux but off_t's on Darwin, hence > probably int64_t's here. You should cast the arguments.
And that explains the warnings about the parameters to printf not being integers. I was looking at compat/regex/regex.h and was confused.
Adding a cast to int on all of the format specifiers solves my problems. Thank you.
~~ Brian