On Fri, Mar 02, 2012 at 08:44:09PM -0500, Brad Smith wrote:
> On 02/03/12 10:49 AM, Hans de Goede wrote:
> >VCARD_ATR_PREFIX is used as part of an array initializer so it should
> >not have () around it, so far this happened to work, but gcc-4.7 does
> >not like it.
> 

Thanks for the report, my bad, used a different version of vcardt.h for
compilation probably. This breaks on linux as well with gcc 4.7.0 .

> This recent commit..
> 
> libcacard: fix reported ATR length
> 
> Broke the build on my OpenBSD (gcc 4.2.1) buildbot which was due to the
> change to this macro.
> 
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: warning: left-hand operand of comma expression
> has no effect
> vcard_emul_nss.c:528: error: initializer element is not constant
> vcard_emul_nss.c:528: error: (near initialization for 'nss_atr[0]')
> gmake[1]: *** [vcard_emul_nss.o] Error 1
> 
> >Signed-off-by: Hans de Goede<hdego...@redhat.com>
> >---
> >  libcacard/vcardt.h |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> >
> >diff --git a/libcacard/vcardt.h b/libcacard/vcardt.h
> >index d4d8e2e..d3e9522 100644
> >--- a/libcacard/vcardt.h
> >+++ b/libcacard/vcardt.h
> >@@ -26,8 +26,8 @@ typedef struct VCardEmulStruct VCardEmul;
> >  #define MAX_CHANNEL 4
> >
> >  /* create an ATR with appropriate historical bytes */
> >-#define VCARD_ATR_PREFIX(size) (0x3b, 0x68+(size), 0x00, 0xff, \
> >-                               'V', 'C', 'A', 'R', 'D', '_')
> >+#define VCARD_ATR_PREFIX(size) 0x3b, 0x68+(size), 0x00, 0xff, \
> >+                               'V', 'C', 'A', 'R', 'D', '_'
> >
> >
> >  typedef enum {
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 
> 

Reply via email to