From: Florian Forster <octo@verplant.org>
To: Timo Hirvonen <tihirvon@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Fix git to be (more) ANSI C99 compliant.
Date: Sun, 18 Jun 2006 10:21:04 +0200 [thread overview]
Message-ID: <20060618082103.GA1331@verplant.org> (raw)
In-Reply-To: <20060618110749.e6fb9030.tihirvon@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2014 bytes --]
Hi,
On Sun, Jun 18, 2006 at 11:07:49AM +0300, Timo Hirvonen wrote:
> Many of the void-pointer arithmetic warnings could be fixed by
> changing the variable types to char * instead of casting them in many
> places.
true. Casting to a void-pointer can be done implicitely (even according
to the standard), so changing a function's argument from `void *' to
`char *' might break code somewhere else.
> > - struct {
> > - struct combine_diff_path p;
> > - struct combine_diff_parent filler[5];
> > - } combine;
>
> Yes this is somewhat ugly but avoids a malloc.
No, malloc is still needed to allocate `combine.p.path'. My change does
allocate all memory in one pass, so the number of calls to malloc
doesn't differ.
> Leave the code as it is now unless it causes real problems.
`struct combine_diff_path' has a flexible array member (FAM) and is
therefore an incomplete type. This means you may not instanciate it.
GCC ignores the FAM in this case and allocates `sizeof (struct
combine_diff_path)' bytes. However, this is not correct according to
ANSI and prevents building using other compilers (e.g. Sun cc).
To be honest, I don't get the point of FAMs anyways. Why don't we just
use a pointer to `struct combine_diff_parent' there in the first place?
> 'A'...'Z' is more readable. Does some compiler fail to compile it?
It's not in ANSI, therefore GCC with `-ansi' failes, so does the Sun cc.
> > static inline int needs_quote(int ch)
>
> Hmm.. same function in http-fetch.c. Lots of common code could be
> moved to http.h.
Right, I wanted to keep the changes as minimal as possible, though.
As you can probably tell my goal is building a Solaris version of git
using the Sun cc. I'm not quite there yet and don't have time to look
into the remaining issue(s) today nor tomorrow, but I might have some
time at the end of the week.
Regards,
-octo
--
Florian octo Forster
Hacker in training
GnuPG: 0x91523C3D
http://verplant.org/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-06-18 8:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-18 5:50 [PATCH] Fix git to be (more) ANSI C99 compliant Florian Forster
2006-06-18 8:07 ` Timo Hirvonen
2006-06-18 8:14 ` Thomas Glanzmann
2006-06-18 8:21 ` Florian Forster [this message]
2006-06-18 8:43 ` Timo Hirvonen
2006-06-18 8:26 ` Rene Scharfe
2006-06-18 8:35 ` Florian Forster
2006-06-18 15:18 ` [PATCH 0/7] Improve ANSI C99 compliance Florian Forster
2006-06-18 15:18 ` [PATCH 1/7] Remove ranges from switch statements Florian Forster
2006-06-18 15:18 ` [PATCH 2/7] Initialize FAMs using `FLEX_ARRAY' Florian Forster
2006-06-18 15:18 ` [PATCH 3/7] Don't instantiate structures with FAMs Florian Forster
2006-06-18 15:18 ` [PATCH 4/7] Cast pointers to `void *' when used in a format Florian Forster
2006-06-18 15:18 ` [PATCH 5/7] Don't use empty structure initializers Florian Forster
2006-06-18 15:18 ` [PATCH 6/7] Change types used in bitfields to be `int's Florian Forster
2006-06-18 15:18 ` [PATCH 7/7] Remove all void-pointer arithmetic Florian Forster
2006-06-18 21:07 ` [PATCH 1/7] Remove ranges from switch statements Junio C Hamano
2006-06-18 21:24 ` Timo Hirvonen
2006-06-18 8:29 ` [PATCH] Fix git to be (more) ANSI C99 compliant Junio C Hamano
2006-06-18 16:50 ` Linus Torvalds
2006-06-19 21:21 ` Florian Forster
2006-06-20 1:59 ` Junio C Hamano
2006-06-20 8:16 ` Rene Scharfe
2006-06-20 8:58 ` Junio C Hamano
2006-06-21 11:15 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060618082103.GA1331@verplant.org \
--to=octo@verplant.org \
--cc=git@vger.kernel.org \
--cc=tihirvon@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).