Index: Makefile
===================================================================
RCS file: /cvs/ports/geo/gpsbabel/Makefile,v
retrieving revision 1.10
diff -u -p -u -r1.10 Makefile
--- Makefile	20 Oct 2007 15:50:26 -0000	1.10
+++ Makefile	11 Jul 2008 06:50:40 -0000
@@ -3,7 +3,7 @@
 COMMENT-main=		GPS waypoint, track, and route conversion tool
 COMMENT-gui=		Tk front-end to gpsbabel
 
-VERSION=		1.3.4
+VERSION=		1.3.5
 DISTNAME=		gpsbabel-${VERSION}
 PKGNAME-main=		gpsbabel-${VERSION}
 PKGNAME-gui=		gpsbabel-gui-${VERSION}
@@ -19,7 +19,7 @@ PERMIT_PACKAGE_FTP=	Yes
 PERMIT_DISTFILES_CDROM=	Yes
 PERMIT_DISTFILES_FTP=	Yes
 
-MASTER_SITES=		${MASTER_SITE_SOURCEFORGE:=gpsbabel/}
+#MASTER_SITES=		${HOMEPAGE}
 
 AUTOCONF_VERSION=	2.61
 CONFIGURE_STYLE=	autoconf
@@ -31,7 +31,7 @@ CONFIGURE_ARGS+=	--with-zlib=system \
 #			WEB=${WRKSRC} 
 CONFIGURE_ENV+=		CPPFLAGS="-I${LOCALBASE}/include" \
 			LDFLAGS="-L${LOCALBASE}/lib" \
-			WEB=${WRKSRC} 
+			WEB=${WRKSRC}
 
 USE_GMAKE=		Yes
 NO_REGRESS=		Yes # expects FP conversion to be exact and invertible
@@ -49,6 +49,11 @@ LIB_DEPENDS-gui=
 PKG_ARCH-gui=	*
 RUN_DEPENDS-gui=	::geo/gpsbabel \
 			:tk-8.4.*:x11/tk/8.4
+
+do-fetch:
+	@test -f ${FULLDISTDIR}/${DISTNAME}.tar.gz || \
+	${FETCH_CMD} -o ${FULLDISTDIR}/${DISTNAME}.tar.gz \
+	    ${HOMEPAGE}/plan9.php?dl=gpsbabel-1.3.5.tar.gz
 
 post-build:
 	gmake -C ${WRKSRC} doc
Index: distinfo
===================================================================
RCS file: /cvs/ports/geo/gpsbabel/distinfo,v
retrieving revision 1.4
diff -u -p -u -r1.4 distinfo
--- distinfo	20 Oct 2007 15:50:26 -0000	1.4
+++ distinfo	11 Jul 2008 06:50:40 -0000
@@ -1,5 +1,5 @@
-MD5 (gpsbabel-1.3.4.tar.gz) = 7bKpLX0C7xwZfOhwYI/CcA==
-RMD160 (gpsbabel-1.3.4.tar.gz) = I5Hws67ycVZ4CO2+1vwsSB1VFOo=
-SHA1 (gpsbabel-1.3.4.tar.gz) = m1BM4VG7RLhlWMzlw/cngZzbMMU=
-SHA256 (gpsbabel-1.3.4.tar.gz) = l5R+5nBNPeAFzoDPqXaJx++p7bSlP3JedunVp8FZj/k=
-SIZE (gpsbabel-1.3.4.tar.gz) = 3547058
+MD5 (gpsbabel-1.3.5.tar.gz) = G+qM0iwk7pwMx2l3DIajQA==
+RMD160 (gpsbabel-1.3.5.tar.gz) = M44zoiOUGdwJlYrpt0QKxzFGuN0=
+SHA1 (gpsbabel-1.3.5.tar.gz) = u0r7Ud4X196IApn9tdCm8xFxa5A=
+SHA256 (gpsbabel-1.3.5.tar.gz) = /Un4dDK3B8SHgFpCkWier0o3nc63HAI1YO+Kw08Y52w=
+SIZE (gpsbabel-1.3.5.tar.gz) = 4621180
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/geo/gpsbabel/patches/patch-Makefile_in,v
retrieving revision 1.3
diff -u -p -u -r1.3 patch-Makefile_in
--- patches/patch-Makefile_in	20 Oct 2007 15:50:26 -0000	1.3
+++ patches/patch-Makefile_in	11 Jul 2008 06:50:40 -0000
@@ -1,16 +1,16 @@
 $OpenBSD: patch-Makefile_in,v 1.3 2007/10/20 15:50:26 ckuethe Exp $
---- Makefile.in.orig	Mon Jul 23 15:30:00 2007
-+++ Makefile.in	Sat Oct 20 09:44:54 2007
-@@ -86,7 +86,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o
+--- Makefile.in.orig	Sat Apr 26 03:49:34 2008
++++ Makefile.in	Wed Jul  2 22:04:22 2008
+@@ -91,7 +91,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o
            uuid.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o \
- 	  xhtmlent.o inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \
- 	  gbfile.o \
+ 	  inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \
+ 	  gbfile.o parse.o avltree.o \
 -	$(PALM_DB) $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
 +	$(PALM_DB) $(GARMIN) $(JEEPS) @SHAPE@ @ZLIB@ $(FMTS) $(FILTERS)
  OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
  
  .c.o:
-@@ -177,7 +177,6 @@ dep:
+@@ -185,7 +185,6 @@ dep:
  $(WEB)/htmldoc-$(DOCVERSION)/readme.html: FORCE
  	mkdir -p $(WEB)/htmldoc-$(DOCVERSION)
  	perl xmldoc/makedoc
@@ -18,7 +18,7 @@ $OpenBSD: patch-Makefile_in,v 1.3 2007/1
  	xmllint --noout --valid xmldoc/readme.xml    	#validate
  	xsltproc \
  	 --stringparam base.dir "$(WEB)/htmldoc-$(DOCVERSION)/" \
-@@ -224,7 +223,7 @@ gpsbabel.html: FORCE
+@@ -232,7 +231,7 @@ gpsbabel.html: FORCE
  readme.txt: gpsbabel.html
  	lynx -nolist -dump gpsbabel.html  > $@
  
Index: patches/patch-alan_c
===================================================================
RCS file: patches/patch-alan_c
diff -N patches/patch-alan_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-alan_c	11 Jul 2008 06:50:40 -0000
@@ -0,0 +1,255 @@
+$OpenBSD$
+--- alan.c.orig	Wed Jul  2 22:08:13 2008
++++ alan.c	Wed Jul  2 22:23:01 2008
+@@ -228,68 +228,68 @@ static void rev_bytes(void *dword) {
+ }
+ 
+ static void swap_wpthdr(struct wpthdr *wpthdr,
+-			void (*swap16)(void *), void (*swap32)(void *)) {
++			void (*swap16Z)(void *), void (*swap32Z)(void *)) {
+   int i;
+ 
+-  if ( swap32 != NULL ) {
+-    swap32( &wpthdr->id );
++  if ( swap32Z != NULL ) {
++    swap32Z( &wpthdr->id );
+   }
+-  if ( swap16 != NULL ) {
+-    swap16( &wpthdr->num );
+-    swap16( &wpthdr->next );
++  if ( swap16Z != NULL ) {
++    swap16Z( &wpthdr->num );
++    swap16Z( &wpthdr->next );
+     for (i=0; i<MAXWPT; i++)
+-      swap16( &wpthdr->idx[i] );
++      swap16Z( &wpthdr->idx[i] );
+   }
+ }
+ 
+ static void swap_wpt(struct wpt *wpt,
+-		     void (*swap16)(void *), void (*swap32)(void *)) {
+-  if ( swap16 != NULL ) {
+-    swap16( &wpt->usecount );
++		     void (*swap16Z)(void *), void (*swap32Z)(void *)) {
++  if ( swap16Z != NULL ) {
++    swap16Z( &wpt->usecount );
+   }
+-  if ( swap32 != NULL ) {
+-    swap32( &wpt->pt.x );
+-    swap32( &wpt->pt.y );
+-    swap32( &wpt->date );
+-    swap32( &wpt->time );
++  if ( swap32Z != NULL ) {
++    swap32Z( &wpt->pt.x );
++    swap32Z( &wpt->pt.y );
++    swap32Z( &wpt->date );
++    swap32Z( &wpt->time );
+   }
+ }
+ 
+ static void swap_rtehdr(struct rtehdr *rtehdr,
+-			void (*swap16)(void *), void (*swap32)(void *)) {
++			void (*swap16Z)(void *), void (*swap32Z)(void *)) {
+   int i;
+ 
+-  if ( swap16 != NULL) {
+-    swap16( &rtehdr->num );
+-    swap16( &rtehdr->next );
++  if ( swap16Z != NULL) {
++    swap16Z( &rtehdr->num );
++    swap16Z( &rtehdr->next );
+     for (i=0; i<MAXRTE; i++)
+-      swap16( &rtehdr->idx[i] );
+-    swap16( &rtehdr->rteno );
++      swap16Z( &rtehdr->idx[i] );
++    swap16Z( &rtehdr->rteno );
+   }
+-  if ( swap32 != NULL ) {
+-    swap32( &rtehdr->id );
++  if ( swap32Z != NULL ) {
++    swap32Z( &rtehdr->id );
+   }
+ }
+ 
+ static void swap_rte(struct rte *rte,
+-		     void (*swap16)(void *), void (*swap32)(void *)) {
++		     void (*swap16Z)(void *), void (*swap32Z)(void *)) {
+   int i;
+ 
+-  if (swap16 != NULL) {
+-    swap16( &rte->wptnum );
++  if (swap16Z != NULL) {
++    swap16Z( &rte->wptnum );
+     for (i=0; i<MAXWPTINRTE; i++)
+-      swap16( &rte->wptidx[i] );
+-    swap16( &rte->reserved );
++      swap16Z( &rte->wptidx[i] );
++    swap16Z( &rte->reserved );
+   }
+-  if ( swap32 != NULL ) {
+-    swap32( &rte->date );
+-    swap32( &rte->time );
++  if ( swap32Z != NULL ) {
++    swap32Z( &rte->date );
++    swap32Z( &rte->time );
+   }
+ }
+ 
+ static void wpr_swap(struct wprdata *wprdata) {
+-  void (*swap16)(void *);
+-  void (*swap32)(void *);
++  void (*swap16Z)(void *);
++  void (*swap32Z)(void *);
+   int i;
+ 
+   switch( byte_order() ) {
+@@ -297,80 +297,80 @@ static void wpr_swap(struct wprdata *wprdata) {
+     return;
+     break;
+   case SWAP_BOTH:		   /* swap words and bytes, BIG_ENDIAN */
+-    swap16 = sw_bytes;
+-    swap32 = rev_bytes;
++    swap16Z = sw_bytes;
++    swap32Z = rev_bytes;
+     break;
+   case SWAP_WORDS:		   /* swap words, PDP_ENDIAN */
+-    swap16 = NULL;
+-    swap32 = sw_words;
++    swap16Z = NULL;
++    swap32Z = sw_words;
+     break;
+   case SWAP_BYTES:		   /* swap bytes */
+-    swap16 = sw_bytes;
+-    swap32 = NULL;
++    swap16Z = sw_bytes;
++    swap32Z = NULL;
+     break;
+   default:
+     return;			   /* never reached */
+   }
+   
+-  swap_wpthdr( &(wprdata->wpthdr), swap16, swap32 );
++  swap_wpthdr( &(wprdata->wpthdr), swap16Z, swap32Z );
+   for (i=0; i< MAXWPT; i++)
+-    swap_wpt( &(wprdata->wpt[i]), swap16, swap32 );
+-  swap_rtehdr( &(wprdata->rtehdr), swap16, swap32 );
++    swap_wpt( &(wprdata->wpt[i]), swap16Z, swap32Z );
++  swap_rtehdr( &(wprdata->rtehdr), swap16Z, swap32Z );
+   for (i=0; i<MAXRTE; i++)
+-    swap_rte( &(wprdata->rte[i]), swap16, swap32 );
++    swap_rte( &(wprdata->rte[i]), swap16Z, swap32Z );
+ }
+ 
+ static void swap_trkhdr(struct trkhdr *trkhdr,
+-			void (*swap16)(void *), void (*swap32)(void *)) {
+-  if ( swap16 != NULL ) {
+-    swap16( &(trkhdr->totalpt) );
+-    swap16( &(trkhdr->next) );
++			void (*swap16Z)(void *), void (*swap32Z)(void *)) {
++  if ( swap16Z != NULL ) {
++    swap16Z( &(trkhdr->totalpt) );
++    swap16Z( &(trkhdr->next) );
+   }
+-  if ( swap32 != NULL ) {
+-    swap32( &(trkhdr->occupied) );
+-    swap32( &(trkhdr->show) );
+-    swap32( &(trkhdr->fill) );
++  if ( swap32Z != NULL ) {
++    swap32Z( &(trkhdr->occupied) );
++    swap32Z( &(trkhdr->show) );
++    swap32Z( &(trkhdr->fill) );
+   }
+ }
+ 
+ static void swap_loghdr(struct loghdr *loghdr,
+-			void (*swap16)(void *), void (*swap32)(void *)) {
++			void (*swap16Z)(void *), void (*swap32Z)(void *)) {
+   int i;
+ 
+-  if ( swap16 != NULL ) {
+-    swap16( &(loghdr->num) );
+-    swap16( &(loghdr->next) );
++  if ( swap16Z != NULL ) {
++    swap16Z( &(loghdr->num) );
++    swap16Z( &(loghdr->next) );
+   }
+-  if ( swap32 != NULL ) {
+-    swap32( &(loghdr->id) );
+-    swap32( &(loghdr->date) );
+-    swap32( &(loghdr->time) );
++  if ( swap32Z != NULL ) {
++    swap32Z( &(loghdr->id) );
++    swap32Z( &(loghdr->date) );
++    swap32Z( &(loghdr->time) );
+   }
+   for (i=0; i<MAXTRK; i++)
+-    swap_trkhdr( &(loghdr->trkhdr[i]), swap16, swap32 );
++    swap_trkhdr( &(loghdr->trkhdr[i]), swap16Z, swap32Z );
+ }
+ 
+ static void swap_trklog(struct trklog *trklog,
+-			void (*swap16)(void *), void (*swap32)(void *)) {
++			void (*swap16Z)(void *), void (*swap32Z)(void *)) {
+   int i;
+ 
+-  if ( swap16 != NULL ) {
++  if ( swap16Z != NULL ) {
+     for (i=0; i<MAXPTINTRK; i++) {
+-      swap16( &(trklog->sh[i].speed) );
+-      swap16( &(trklog->sh[i].height) );
++      swap16Z( &(trklog->sh[i].speed) );
++      swap16Z( &(trklog->sh[i].height) );
+     }
+   }
+-  if ( swap32 != NULL ) {
++  if ( swap32Z != NULL ) {
+     for (i=0; i<MAXPTINTRK; i++) {
+-      swap32( &(trklog->pt[i].x) );
+-      swap32( &(trklog->pt[i].y) );
++      swap32Z( &(trklog->pt[i].x) );
++      swap32Z( &(trklog->pt[i].y) );
+     }
+   }
+ }
+ 
+ static void trl_swap(struct trldata *trldata) {
+-  void (*swap16)(void *);
+-  void (*swap32)(void *);
++  void (*swap16Z)(void *);
++  void (*swap32Z)(void *);
+   int i;
+ 
+   switch( byte_order() ) {
+@@ -378,24 +378,24 @@ static void trl_swap(struct trldata *trldata) {
+     return;
+     break;
+   case SWAP_BOTH:		   /* swap words and bytes, BIG_ENDIAN */
+-    swap16 = sw_bytes;
+-    swap32 = rev_bytes;
++    swap16Z = sw_bytes;
++    swap32Z = rev_bytes;
+     break;
+   case SWAP_WORDS:		   /* swap words, PDP_ENDIAN */
+-    swap16 = NULL;
+-    swap32 = sw_words;
++    swap16Z = NULL;
++    swap32Z = sw_words;
+     break;
+   case SWAP_BYTES:		   /* swap bytes */
+-    swap16 = sw_bytes;
+-    swap32 = NULL;
++    swap16Z = sw_bytes;
++    swap32Z = NULL;
+     break;
+   default:
+     return;                        /* never reached */
+   }
+ 
+-  swap_loghdr( &(trldata->loghdr), swap16, swap32);
++  swap_loghdr( &(trldata->loghdr), swap16Z, swap32Z);
+   for (i=0; i<MAXTRK; i++)
+-    swap_trklog( &(trldata->trklog[i]), swap16, swap32);
++    swap_trklog( &(trldata->trklog[i]), swap16Z, swap32Z);
+ }
+ 
+ 
Index: patches/patch-configure_in
===================================================================
RCS file: /cvs/ports/geo/gpsbabel/patches/patch-configure_in,v
retrieving revision 1.3
diff -u -p -u -r1.3 patch-configure_in
--- patches/patch-configure_in	20 Oct 2007 15:50:26 -0000	1.3
+++ patches/patch-configure_in	11 Jul 2008 06:50:40 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-configure_in,v 1.3 2007/10/20 15:50:26 ckuethe Exp $
---- configure.in.orig	Mon Aug  6 21:27:07 2007
-+++ configure.in	Sat Oct 20 09:41:21 2007
-@@ -50,16 +50,22 @@ if test "$cet" = "default"; then
+--- configure.in.orig	Sun May  4 15:26:37 2008
++++ configure.in	Wed Jul  2 22:03:36 2008
+@@ -57,16 +57,22 @@ if test "$cet" = "default"; then
  fi
  
  AC_MSG_CHECKING(whether to support shapefiles)
@@ -32,7 +32,7 @@ $OpenBSD: patch-configure_in,v 1.3 2007/
  AC_MSG_CHECKING(whether to support Palm/OS pdb formats)
  AC_ARG_ENABLE(pdb,
    [  --enable-pdb=[(yes)|no]],
-@@ -182,6 +188,7 @@ AC_SUBST(USB_LIBS)
+@@ -209,6 +215,7 @@ AC_SUBST(USB_LIBS)
  AC_SUBST(USB_CFLAGS)
  AC_SUBST(OSJEEPS)
  AC_SUBST(GBSER)
Index: patches/patch-lmx_c
===================================================================
RCS file: patches/patch-lmx_c
diff -N patches/patch-lmx_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-lmx_c	11 Jul 2008 06:50:40 -0000
@@ -0,0 +1,37 @@
+$OpenBSD$
+--- lmx.c.orig	Wed Jul  2 22:06:06 2008
++++ lmx.c	Wed Jul  2 22:07:55 2008
+@@ -31,7 +31,7 @@
+ 
+ static gbfile *ofd;
+ static waypoint *wpt_tmp;
+-char *link, *linkt;
++char *linkx, *linkt;
+ 
+ #define MYNAME "lmx"
+ 
+@@ -205,13 +205,13 @@ lmx_lm_desc(const char *args, const char **unused)
+ static void
+ lmx_lm_mlink_s(const char *args, const char **unused)
+ {
+-	link = linkt = NULL;
++	linkx = linkt = NULL;
+ }
+ 
+ static void
+ lmx_lm_link(const char *args, const char **unused)
+ {
+-	link = xstrdup(args);
++	linkx = xstrdup(args);
+ }
+ 
+ static void
+@@ -223,7 +223,7 @@ lmx_lm_linkt(const char *args, const char **unused)
+ static void
+ lmx_lm_mlink_e(const char *args, const char **unused)
+ {
+-	waypt_add_url(wpt_tmp, link, linkt);
++	waypt_add_url(wpt_tmp, linkx, linkt);
+ }
+ 
+ 
