Date: Wed, 14 Dec 2011 15:44:43 GMT From: Heath Nielson <heathn@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/163286: [PATCH] multimedia/subtitleeditor doesn't compile with gcc 4.6 Message-ID: <201112141544.pBEFihkq066280@red.freebsd.org> Resent-Message-ID: <201112141550.pBEFo8Vp037922@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 163286 >Category: ports >Synopsis: [PATCH] multimedia/subtitleeditor doesn't compile with gcc 4.6 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Dec 14 15:50:08 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Heath Nielson >Release: FreeBSD 8.2-STABLE >Organization: >Environment: FreeBSD hershey.bar.net 8.2-STABLE FreeBSD 8.2-STABLE #9: Mon Dec 12 20:31:44 MST 2011 heath@hershey.bar.net:/usr/obj/usr/src/sys/HERSHEY amd64 >Description: Building the port with the gcc46 compiler gives the error: sami.cc: In member function 'void Sami::read_subtitle(FileReader&)': sami.cc:177:32: error: taking address of temporary [-fpermissive] gmake[4]: *** [libsami_la-sami.lo] Error 1 >How-To-Repeat: Using the ports/lang/gcc46 compiler. cd /usr/ports/multimedia/subtitleeditor make (I'm not sure if the error occurs on previous versions of the gcc compiler.) >Fix: The original authors fixed this in their SVN repo (http://svn.gna.org/viewcvs/subtitleeditor/trunk/plugins/subtitleformats/sami/sami.cc?r1=772&r2=777). Patch file is included which incorporates the change. Patch attached with submission follows: --- plugins/subtitleformats/sami/sami.cc.orig 2011-12-14 07:28:29.000000000 -0700 +++ plugins/subtitleformats/sami/sami.cc 2011-12-14 07:41:27.000000000 -0700 @@ -155,7 +155,7 @@ int state = 0; Glib::ustring line; Glib::ustring text; - Subtitle* curSt; + Subtitle curSt; char tmptext[MAXBUF+1] = ""; char *p = NULL, *q = NULL; if (!file.getline(line)) @@ -174,8 +174,8 @@ start_sync = utility::string_to_int(inptr + 6); // Get a line from the current subtitle on memory - curSt = &subtitles.append(); - curSt->set_start(start_sync); + curSt = subtitles.append(); + curSt.set_start(start_sync); state = SAMI_STATE_SYNC_START; continue; @@ -239,14 +239,14 @@ // Now we are sure that this line is the end sync. end_sync = utility::string_to_int(q + 6); - curSt->set_end(end_sync); + curSt.set_end(end_sync); *p = '\0'; trail_space(tmptext); // finalize the end sync of current line if (tmptext[0] != '\0') - curSt->set_text(tmptext); + curSt.set_text(tmptext); // an important check if this is end sync. // Is there any delimiter " " in this line? @@ -276,14 +276,14 @@ else { end_sync = SAMISYNC_MAXVAL; - curSt->set_end(end_sync); + curSt.set_end(end_sync); *p = '\0'; trail_space(tmptext); // finalize the end sync of current line if (tmptext[0] != '\0') - curSt->set_text(tmptext); + curSt.set_text(tmptext); state = SAMI_STATE_FORCE_QUIT; break; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112141544.pBEFihkq066280>