that doesn't necessary mean it will work... va_args are sometimes passed by value, sometimes passed by reference. it depends on the OS.
On 20.08.2012, at 23:46, Michael Black <[email protected]> wrote: > Thanks to Andreas and Rene for helping me fix this error: > > When I tried Rene's suggestion, i got an error similar to the original one. I > tried to make 'args' pass by reference when eval'd in the if statement, and > now it works: > > gwlib/log.c:434 > if (arg == NULL) //orig > if (&args == NULL) { //corrected > > Sorry for wasting your time > > Gratefully, > > Mike > > On Aug 20, 2012 4:18 PM, "Rene Kluwen" <[email protected]> wrote: > I am not into this stuff at all. > > But what if you change line 434 to: > > > > if ((void *)args == NULL) > > > > Probably you will run into other errors as well. But if this is the only > thing, here goes. > > > > == Rene > > > > From: [email protected] [mailto:[email protected]] On > Behalf Of Michael Black > Sent: Monday, 20 August, 2012 20:41 > To: [email protected] > Subject: Fwd: Re: Make Gateway Errors > > > > Hello to all, > > I was working with Andreas regarding an error i received while attempting to > make Kannel 1.4. I am using ubuntu maverick, 2.6.32.21. I followed the > instructions in the online READM. All correspondence is forwarded, below. > > ---------- Forwarded message ---------- > From: "Michael Black" <[email protected]> > Date: Aug 20, 2012 11:29 AM > Subject: Re: Make Gateway Errors > To: "Andreas Fink" <[email protected]> > > > Also, im using ubuntu maverick > > So you should be getting the stdarg.h any minute now...you said it was an > easy fix? Im guessing it wasnt as easy as editing a few lines of stdarg.h, eh? > > I scanned some of the source so (as far as i know), i cant be rid of > kannel_syslog, and in the gwlib/log.c it uses it extensively, so you didnt > comment anything out in the log.c, right? > > Honestly, i really appreciate your help! > > On Aug 20, 2012 11:13 AM, "Andreas Fink" <[email protected]> wrote: > > I've run into this problem when porting gwlib to another platform. it has to > do with how the system deals with standard arguments. on some va-list is a > pointer, on others its some kind of struct etc. > > I dont remember exactly how I solved it but its realtively easy to do. And > actually I thought configure does it but apparently it doesnt > > > > On 20.08.2012, at 17:05, Michael Black <[email protected]> wrote: > > > > > Also, i followed the instructions in the README > http://www.kannel.org/download/1.4.3/README-1.4.3 > > ./configure > touch .depend > make depend > make (stuck here) > > On Aug 20, 2012 10:57 AM, "Michael Black" <[email protected]> wrote: > > # uname -a > Linux localhost 2.6.32.21-gd2764ed #1 PREEMPT Tue Oct 26 16:04:03 CST 2010 > armv7l GNU/Linux > > On Aug 20, 2012 10:09 AM, "Andreas Fink" <[email protected]> wrote: > > what OS are you using? > > > > On 20.08.2012, at 16:08, Michael Black <[email protected]> wrote: > > > > > Yeah, i ran ./configure the first time, i then removed the *.o's/linkeds and > ran make again but im getting the same error > > On Aug 20, 2012 9:15 AM, "Andreas Fink" <[email protected]> wrote: > > did you run ./configure ? > > I've compiled kannel on Linux ARM before (on a pandaboard running Ubuntu) and > had no problem with it. > > ./configure checks for various va_list variants. > > > > On 20.08.2012, at 15:12, Michael Black <[email protected]> wrote: > > > > > Hello. > > I am currently trying to build kannel from source (on arm, if i wasnt then > I'd use the i386 binary). However, make says there's an error: > > gwlib/log.c: 434: error: invalid operations to binary == (have 'va_list' and > 'void *') > > Line 434 is '(if args == NULL)' > Excert below: > > static void PRINTFLIKE(1,0) kannel_syslog(char *format, va_list args, int > level) > { > char buf[4096]; /* Trying to syslog more than 4K could be bad */ > int translog; > > if (level >= sysloglevel && dosyslog) { > if (args == NULL) { > strncpy(buf, format, sizeof(buf)); > buf[sizeof(buf) - 1] = '\0'; > } else { > vsnprintf(buf, sizeof(buf), format, args); > /* XXX vsnprint not 100% portable */ > } > > switch(level) { > case GW_DEBUG: > translog = LOG_DEBUG; > break; > case GW_INFO: > translog = LOG_INFO; > break; > case GW_WARNING: > translog = LOG_WARNING; > break; > case GW_ERROR: > translog = LOG_ERR; > break; > case GW_PANIC: > translog = LOG_ALERT; > break; > default: > translog = LOG_INFO; > break; > } > syslog(translog, "%s", buf); > } > } > > ---------- Forwarded message ---------- > From: "Michael Black" <[email protected]> > Date: Aug 19, 2012 1:46 PM > Subject: Make Gateway Errors > To: <[email protected]> > > > Hello, > > I am currently attempting to build kannel from source; however, make says > there's an error: > > gwlib/log.c:434 error: invalid operations to binary == (have 'va_list' and > 'void *') > > if (level >= sysloglevel && dosyslog) { > if (args == NULL) { > strncpy(buf, format, sizeof(buf)); > buf[sizeof(buf) - 1] = '\0'; > } else { > vsnprintf(buf, sizeof(buf), format, args); > /* XXX vsnprint not 100% portable */ > } > > switch(level) { > case GW_DEBUG: > > Whats wrong? > > Mark > > > > > > >
