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. > >