summaryrefslogtreecommitdiff
path: root/net/xtraceroute
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2001-06-02 11:23:26 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2001-06-02 11:23:26 +0000
commitc6e3cec631a3215af263d7e4ac731c4b40ba1bda (patch)
tree4e276ae0073b10ee20dab49e3d0c4896559e2208 /net/xtraceroute
parentUpgrade to 2.7.34beta (diff)
- Unbroke with threaded Mesa libraries (XFree86-4);
- provide workaround for sscanf(3) bug in 5-CURRENT, that causes SIGBUS.
Notes
Notes: svn path=/head/; revision=43425
Diffstat (limited to 'net/xtraceroute')
-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 ddb694f78e45..a718d3737ae2 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 000000000000..ecf92fab3ea9
--- /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