Date: Wed, 3 Dec 2014 23:06:57 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r373852 - head/audio/liblo/files Message-ID: <201412032306.sB3N6vho083633@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim (src committer) Date: Wed Dec 3 23:06:56 2014 New Revision: 373852 URL: https://svnweb.freebsd.org/changeset/ports/373852 QAT: https://qat.redports.org/buildarchive/r373852/ Log: Fix audio/liblo build with clang 3.5.0 On 64-bit arches, audio/liblo will fail to compile with clang 3.5.0, due to the following -Werror warning: message.c:1000:17: error: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value] abs((char *) d - (char *) end), m); ^ On 64-bit arches, pointer differences are usually longs, but simply replacing the abs() call with labs() is also not a good solution, because then the code is incorrect for 32-bit arches. Fix this by using a ternary operator expression, which is type-safe. While here, fix the printf format conversion specifier for printing ptrdiff_t's. Approved by: portmgr (antoine) Added: head/audio/liblo/files/patch-src-messages.c (contents, props changed) Added: head/audio/liblo/files/patch-src-messages.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/audio/liblo/files/patch-src-messages.c Wed Dec 3 23:06:56 2014 (r373852) @@ -0,0 +1,13 @@ +--- src/message.c.orig 2014-01-20 12:49:42.000000000 +0100 ++++ src/message.c 2014-12-03 23:02:28.000000000 +0100 +@@ -996,8 +996,8 @@ void lo_message_pp(lo_message m) + putchar('\n'); + if (d != end) { + fprintf(stderr, +- "liblo warning: type and data do not match (off by %d) in message %p\n", +- abs((char *) d - (char *) end), m); ++ "liblo warning: type and data do not match (off by %td) in message %p\n", ++ d >= end ? (char *) d - (char *) end : (char *) end - (char *) d, m); + } + } +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412032306.sB3N6vho083633>