[Bug 230211] multimedia/avidemux-plugins fails to build: ISO C++ forbids comparison between pointer and integer [-fpermissive] (upstream patch)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jul 30 23:57:11 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230211

            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 at FreeBSD.org
          Reporter: vvd at unislabs.com
          Assignee: multimedia at FreeBSD.org
             Flags: maintainer-feedback?(multimedia at FreeBSD.org)

Created attachment 195664
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=195664&action=edit
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/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/src/rtphint.cpp: In member function 'void mp4v2::impl::MP4RtpHintTrack::GetPayload(char**, uint8_t*, uint16_t*, char**)':
> /tmp/work/usr/ports/multimedia/avidemux-plugins/work/avidemux_2.6.11/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/src/rtphint.cpp:342:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
>                     if (pSlash != '\0') {

Look at code:
>    const char* pSlash;
…
>            if (pSlash && ppEncodingParams) {
>                pSlash++;
>                pSlash = strchr(pSlash, '/');
>                if (pSlash != NULL) {
>                    pSlash++;
>                    if (pSlash != '\0') {
Error on this line ^^^^^^^^^^^^^^^^^^^^^^^^.
Obvious it's incorrect code and most probably it have to be "if (*pSlash !=
'\0')".
>                        length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap);
>                        *ppEncodingParams = (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.

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


More information about the freebsd-ports-bugs mailing list