aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/xtraceroute/Makefile4
-rw-r--r--net/xtraceroute/files/patch-util.c27
2 files changed, 29 insertions, 2 deletions
diff --git a/net/xtraceroute/Makefile b/net/xtraceroute/Makefile
index ddb694f78e4..a718d3737ae 100644
--- a/net/xtraceroute/Makefile
+++ b/net/xtraceroute/Makefile
@@ -22,8 +22,8 @@ USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-GL-prefix=${X11BASE}/lib \
--with-lib-GL
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
- LIBS="-L${LOCALBASE}/lib"
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
+ LIBS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
DATAFILES= ndg_files.tar.gz
diff --git a/net/xtraceroute/files/patch-util.c b/net/xtraceroute/files/patch-util.c
new file mode 100644
index 00000000000..ecf92fab3ea
--- /dev/null
+++ b/net/xtraceroute/files/patch-util.c
@@ -0,0 +1,27 @@
+Workaround for a sscanf(3) bug in the FreeBSD 5-CURRENT.
+
+$FreeBSD$
+
+--- util.c 2001/06/02 10:41:42 1.1
++++ util.c 2001/06/02 11:14:20
+@@ -36,10 +36,19 @@
+ double loc = 0;
+ float sub;
+ int i = 0;
++ int len;
++ char *tmp;
++
++ len = strlen(str);
++ if (str[len - 1] == 'e') {
++ tmp = alloca(len);
++ strlcpy(tmp, str, len);
++ } else
++ tmp = str;
+
+ while(1)
+ {
+- sscanf(&str[i], "%f", &sub);
++ sscanf(&tmp[i], "%f", &sub);
+ loc += sub*factor;
+
+ // Skip all spaces and tabs