diff options
author | edwin <edwin@FreeBSD.org> | 2007-09-08 20:09:40 +0800 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2007-09-08 20:09:40 +0800 |
commit | 8e142665b8eaaca7bb45ff1333c2ed4fbb39ced6 (patch) | |
tree | 3389d7aab3414a760c83bc76c489e9bd2efce950 /multimedia | |
parent | 64580c9321d77a5ca4fc8f69c24c027d3e63f397 (diff) | |
download | freebsd-ports-gnome-8e142665b8eaaca7bb45ff1333c2ed4fbb39ced6.tar.gz freebsd-ports-gnome-8e142665b8eaaca7bb45ff1333c2ed4fbb39ced6.tar.zst freebsd-ports-gnome-8e142665b8eaaca7bb45ff1333c2ed4fbb39ced6.zip |
[patch] multimedia/fxtv: unbreak on HEAD (gcc 4.2)
This patch unbreaks building this port on 7-CURRENT (with gcc 4.2)
PR: ports/116126
Submitted by: Simun Mikecin <numisemis@yahoo.com>
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/fxtv/Makefile | 6 | ||||
-rw-r--r-- | multimedia/fxtv/files/patch-videolib_videolib.c | 38 |
2 files changed, 39 insertions, 5 deletions
diff --git a/multimedia/fxtv/Makefile b/multimedia/fxtv/Makefile index 6c4870f45911..e4f6abba39cd 100644 --- a/multimedia/fxtv/Makefile +++ b/multimedia/fxtv/Makefile @@ -7,7 +7,7 @@ PORTNAME= fxtv PORTVERSION= 1.03 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= rhh @@ -31,10 +31,6 @@ OPTIONS= EXTRA "Extra programs required to record/playback/save" off .include <bsd.port.pre.mk> -.if ${OSVERSION} >= 700042 -BROKEN= Broken with gcc 4.2 -.endif - # This program does not actually require the programs below unless you # use audio/video recording and/or playback and save to a non-raw format. .if defined(WITH_EXTRA) diff --git a/multimedia/fxtv/files/patch-videolib_videolib.c b/multimedia/fxtv/files/patch-videolib_videolib.c new file mode 100644 index 000000000000..4da6856d39c8 --- /dev/null +++ b/multimedia/fxtv/files/patch-videolib_videolib.c @@ -0,0 +1,38 @@ +--- videolib/videolib.c.orig 1999-11-03 03:22:04.000000000 +0100 ++++ videolib/videolib.c 2007-09-05 18:31:05.000000000 +0200 +@@ -479,9 +479,8 @@ + *(p++) = (*src16 >> 8) | (*src16 << 8); + src16++; + } +- for ( i = dst_line_pad; i > 0; i-- ) +- *(((VL_UINT8 *)p)++) = 0x00; +- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line; ++ memset(p, 0, dst_line_pad); ++ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16); + } + + src16 = dst_line = (VL_UINT16 *) dst->buf; +@@ -513,9 +512,9 @@ + if ( src_padded ) + src16 = (VL_UINT16 *)( (VL_UINT8 *)src16 + dst_line_pad ); + else +- for ( i = dst_line_pad; i > 0; i-- ) +- *(((VL_UINT8 *)dst)++) = 0x00; +- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line; ++ memset(dst, 0, dst_line_pad); ++ dst += dst_line_pad / sizeof(VL_IMAGE); ++ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16); + } + + if ( !dst_swap_b ) { /* More ugliness */ +@@ -527,8 +526,8 @@ + *(p++) = (*src16 >> 8) | (*src16 << 8); + src16++; + } +- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line; +- (VL_UINT8 *)src16 += dst->geom.bytes_per_line; ++ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16); ++ src16 += dst->geom.bytes_per_line / sizeof(VL_UINT16); + } + } + } |