From: Mikael M. <mik...@tj...> - 2004-11-28 19:31:20
|
Steve Kann wrote: > Mikael Magnusson wrote: > >> Steve Kann wrote: >> >>> >> ... >> >>> >>> libiax2 API: >>> >>> Add params to iax_call to set format and capability. >>> Add param to iax_accept to tell it what format we want. >>> >>> -extern int iax_call(struct iax_session *session, char *cidnum, char >>> *cidname, char *ich, char *lang, int wait); >>> -extern int iax_accept(struct iax_session *session); >>> +extern int iax_call(struct iax_session *session, char *cidnum, char >>> *cidname, char *ich, char *lang, int wait, int format, int capability); >>> +extern int iax_accept(struct iax_session *session, int format); >>> >>> Let me know what you think.. >>> >>> I've only tested this on one outgoing calls, so a review and testing >>> is in order.. >> >> >> ... >> >>> >> >> Will you send a patch to the libiax2 author? And will it be backward >> compatible, or will it require source modifications? > > > > I have sent in a patch to the tracker, which includes all of my libiax2 > changes up until current iaxclient CVS. > http://bugs.digium.com/bug_view_page.php?bug_id=0002866 > I have browsed the patch. Isn't align.c unnecessary complicated? Doesn't it work to use plain memcpy instead? I don't have access to a SPARC to test with, but the following may work. (Btw SOLARIS also runs on little endian systems also I think, but align.c is for big endian only) unsigned short get_align16(unsigned short *src) { unsigned short var; memcpy(&var, src, sizeof(unsigned short)); return var; } unsigned int get_align32(unsigned int *src) { unsigned int var; memcpy(&var, src, sizeof(unsigned int)); return var; } int set_align32(unsigned int *dst, unsigned int src) { memcpy(dst, &src, sizeof(unsigned int)); } Regards, Mikael Magnusson |