cvs commit: src/lib/libc/gen disklabel.c src/lib/libcr/gen disklabel.c src/sbin/disklabel disklabel.c src/usr.sbin/diskpart diskpart.c

YONETANI Tomokazu qhwt+dfly at les.ath.cx
Thu Mar 17 07:44:49 PST 2005


On Thu, Mar 17, 2005 at 03:26:42PM +0100, Joerg Sonnenberger wrote:
> >   Constify all users of dktypenames to unbreak buildworld.
> >   Reported-by: walt
> 
> I'm not sure why world broke through. That's strange.

I should've been more explicit about what I claimed to fix. gcc fails
miserably if one tries to get a difference of two addresses whose target
types are different and there's no implicit conversions available, so:

  const char **ccpp;
  char **cpp;
  int idx;

  idx = cpp - ccpp;	/* NG */
  idx = *cpp - *ccpp;	/* OK, *cpp converted to (const char *) */
  idx = *ccpp - *cpp;	/* NG, (const char *) to (char *) */

but what I don't understand is that this produces only a warning:

  idx = cpp < ccpp;





More information about the Commits mailing list