From: Brian Gernhardt Date: Mon, 09 Mar 2009 00:58:42 GMT Subject: Re: git-grep Bus Error 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: > 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