Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jul 2018 23:57:08 +0000
From:      bugzilla-noreply@freebsd.org
To:        multimedia@FreeBSD.org
Subject:   [Bug 230211] multimedia/avidemux-plugins fails to build: ISO C++ forbids comparison between pointer and integer [-fpermissive] (upstream patch)
Message-ID:  <bug-230211-12827@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D230211

            Bug ID: 230211
           Summary: multimedia/avidemux-plugins fails to build: ISO C++
                    forbids comparison between pointer and integer
                    [-fpermissive] (upstream patch)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: multimedia@FreeBSD.org
          Reporter: vvd@unislabs.com
          Assignee: multimedia@FreeBSD.org
             Flags: maintainer-feedback?(multimedia@FreeBSD.org)

Created attachment 195664
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D195664&action=
=3Dedit
Patch from upstream

After update GCC from 6.4 to 7.3 multimedia/avidemux-plugins fails to build
with this error:
> /tmp/work/usr/ports/multimedia/avidemux-plugins/work/avidemux_2.6.11/avid=
emux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/src/rtphint.cpp: In member func=
tion 'void mp4v2::impl::MP4RtpHintTrack::GetPayload(char**, uint8_t*, uint1=
6_t*, char**)':
> /tmp/work/usr/ports/multimedia/avidemux-plugins/work/avidemux_2.6.11/avid=
emux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/src/rtphint.cpp:342:35: error: =
ISO C++ forbids comparison between pointer and integer [-fpermissive]
>                     if (pSlash !=3D '\0') {

Look at code:
>    const char* pSlash;
=E2=80=A6
>            if (pSlash && ppEncodingParams) {
>                pSlash++;
>                pSlash =3D strchr(pSlash, '/');
>                if (pSlash !=3D NULL) {
>                    pSlash++;
>                    if (pSlash !=3D '\0') {
Error on this line ^^^^^^^^^^^^^^^^^^^^^^^^.
Obvious it's incorrect code and most probably it have to be "if (*pSlash !=
=3D
'\0')".
>                        length =3D (uint32_t)strlen(pRtpMap) - (pSlash - p=
RtpMap);
>                        *ppEncodingParams =3D (char *)MP4Calloc(length + 1=
);
>                        strncpy(*ppEncodingParams, pSlash, length);
>                    }
>                }
>            }

In upstream this line was replaced on "if (*pSlash)", as expected.

Just put file
patch-avidemux__plugins_ADM__muxers_muxerMp4v2_libmp4v2_src_rtphint.cpp in
multimedia/avidemux/files/ - work for me on 11.2 amd64 and i386.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-230211-12827>