Debian Bug report logs - #487645
smilutils: uses depreciated img_convert function, please port to libswscale

version graph

Package: smilutils; Maintainer for smilutils is (unknown);

Reported by: Paul Wise <pabs@debian.org>

Date: Mon, 23 Jun 2008 10:03:26 UTC

Severity: wishlist

Tags: patch

Found in version smilutils/0.3.2+cvs20070731-4

Fixed in version smilutils/0.3.2+cvs20070731-4.1

Done: Thomas Viehmann <tv@beamnet.de>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to Roland Mas <lolando@debian.org>:
Bug#487645; Package smilutils. (full text, mbox, link).


Acknowledgement sent to Paul Wise <pabs@debian.org>:
New Bug report received and forwarded. Copy sent to Roland Mas <lolando@debian.org>. (full text, mbox, link).


Message #5 received at maintonly@bugs.debian.org (full text, mbox, reply):

From: Paul Wise <pabs@debian.org>
To: maintonly@bugs.debian.org
Subject: smilutils: uses depreciated img_convert function, please port to libswscale
Date: Mon, 23 Jun 2008 18:02:46 +0800
[Message part 1 (text/plain, inline)]
Package: smilutils
Version: 0.3.2+cvs20070731-4+b1
Severity: wishlist
User: pkg-multimedia-maintainers@lists.alioth.debian.org
Usertags: img-convert

The following files in your package appear to use the img_convert function,
which has been depreciated by ffmpeg upstream in favour of their newer
libswscale library. 

/usr/bin/ffmpeg2raw

Please refer to the following tutorial and the API docs to do the porting.

http://www.dranger.com/ffmpeg/tutorial08.html
http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/ffmpeg-r_2libswscale_2swscale_8h.html

-- 
bye,
pabs

http://wiki.debian.org/PaulWise
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Roland Mas <lolando@debian.org>:
Bug#487645; Package smilutils. (Thu, 12 Mar 2009 23:15:15 GMT) (full text, mbox, link).


Acknowledgement sent to Thomas Viehmann <tv@beamnet.de>:
Extra info received and forwarded to list. Copy sent to Roland Mas <lolando@debian.org>. (Thu, 12 Mar 2009 23:15:16 GMT) (full text, mbox, link).


Message #10 received at 487645@bugs.debian.org (full text, mbox, reply):

From: Thomas Viehmann <tv@beamnet.de>
To: 517465@bugs.debian.org, control@bugs.debian.org, 487645@bugs.debian.org
Subject: Re: partial fix
Date: Fri, 13 Mar 2009 00:10:07 +0100
[Message part 1 (text/plain, inline)]
tag 517465 patch
tag 487645 patch
thanks

Hi,

a fresh look at testing reveals that the problem with the output was the
spurious printf I put in for debugging.
Both video and audio of an ogg video downloaded from wikimedia commons
for testing converted with ffmpeg2raw and then passed to rawplay (needs
a .dv extension to work properly[1]) played fine, so I think this patch
is ready to go.

Kind regards

T.

1. I could say something about having
  if ( strncasecmp( strrchr( ( char* ) src, '.' ), ".avi", 4 ) == 0 )
  et al. in smilutils/libkino/playlist.cc...
-- 
Thomas Viehmann, http://thomas.viehmann.net/
[smilutils.updated.diff (text/x-patch, inline)]
diff -u smilutils-0.3.2+cvs20070731/debian/changelog smilutils-0.3.2+cvs20070731/debian/changelog
--- smilutils-0.3.2+cvs20070731/debian/changelog
+++ smilutils-0.3.2+cvs20070731/debian/changelog
@@ -1,3 +1,18 @@
+smilutils (0.3.2+cvs20070731-4.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Move off removed ffmpeg functions:
+    - avcodec_audio_decode -> avcodec_audio_decode2
+    - img_convert -> sws_scale (with tedium of context acquisiton etc.)
+    - add libswscale-dev to build-depends
+    Closes: #517465, #487645.
+  * Fix the not completely ideal pointer usage in ffmpeg2raw that
+    caused some compiler warnings and also impeded testing because
+    ffmpeg2raw invariably printed  "No video or audio stream found"
+    instead of actually doing something.
+
+ -- Thomas Viehmann <tv@beamnet.de>  Sat, 07 Mar 2009 21:04:05 +0100
+
 smilutils (0.3.2+cvs20070731-4) unstable; urgency=low
 
   * Fix build with gcc 4.3 (closes: #455132)
diff -u smilutils-0.3.2+cvs20070731/debian/control smilutils-0.3.2+cvs20070731/debian/control
--- smilutils-0.3.2+cvs20070731/debian/control
+++ smilutils-0.3.2+cvs20070731/debian/control
@@ -4,7 +4,7 @@
 Maintainer: Roland Mas <lolando@debian.org>
 Uploaders: Paul Brossier <piem@debian.org>
 Standards-Version: 3.7.3
-Build-Depends: debhelper (>= 5), libquicktime-dev, libdv4-dev, libglib2.0-dev, libxml2-dev, libimlib2-dev, libsdl1.2-dev, autotools-dev, libltdl3-dev, ffmpeg, libavcodec-dev, libavformat-dev, libtool, libvorbis-dev, libogg-dev, libdts-dev, libgtk2.0-dev, autoconf, automake
+Build-Depends: debhelper (>= 5), libquicktime-dev, libswscale-dev, libdv4-dev, libglib2.0-dev, libxml2-dev, libimlib2-dev, libsdl1.2-dev, autotools-dev, libltdl3-dev, ffmpeg, libavcodec-dev, libavformat-dev, libtool, libvorbis-dev, libogg-dev, libdts-dev, libgtk2.0-dev, autoconf, automake
 
 Package: smilutils
 Architecture: any
diff -u smilutils-0.3.2+cvs20070731/config.sub smilutils-0.3.2+cvs20070731/config.sub
--- smilutils-0.3.2+cvs20070731/config.sub
+++ smilutils-0.3.2+cvs20070731/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2007-06-28'
+timestamp='2008-01-16'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -369,10 +369,14 @@
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
+	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-*)
 		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -443,6 +447,14 @@
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -668,6 +680,14 @@
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	m88k-omron*)
 		basic_machine=m88k-omron
 		;;
@@ -813,6 +833,14 @@
 		basic_machine=i860-intel
 		os=-osf
 		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	pbd)
 		basic_machine=sparc-tti
 		;;
@@ -1021,6 +1049,10 @@
 		basic_machine=tic6x-unknown
 		os=-coff
 		;;
+	tile*)
+		basic_machine=tile-unknown
+		os=-linux-gnu
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
diff -u smilutils-0.3.2+cvs20070731/config.guess smilutils-0.3.2+cvs20070731/config.guess
--- smilutils-0.3.2+cvs20070731/config.guess
+++ smilutils-0.3.2+cvs20070731/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2007-07-22'
+timestamp='2008-01-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -532,7 +532,7 @@
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[45])
+    *:AIX:*:[456])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -799,6 +799,9 @@
 	    EM64T | authenticamd)
 		echo x86_64-unknown-interix${UNAME_RELEASE}
 		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
 	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
-    xtensa:Linux:*:*)
-    	echo xtensa-unknown-linux-gnu
+    xtensa*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
@@ -1474,9 +1484,9 @@
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
diff -u smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/Makefile.am smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/Makefile.am
--- smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/Makefile.am
+++ smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/Makefile.am
@@ -11,7 +11,7 @@
 	-D_FILE_OFFSET_BITS=64 
 
 AM_LDFLAGS = -rdynamic -L$(FFMPEG_PATH)/libavformat -lavformat -L$(FFMPEG_PATH)/libavcodec -lavcodec \
-		$(FFMPEGLIBS) -lm -lz -ldl -ldv
+		$(FFMPEGLIBS) -lm -lz -ldl -ldv -lswscale
 
 endif
 
only in patch2:
unchanged:
--- smilutils-0.3.2+cvs20070731.orig/apps/ffmpeg2raw/ffmpeg2raw.c
+++ smilutils-0.3.2+cvs20070731/apps/ffmpeg2raw/ffmpeg2raw.c
@@ -23,8 +23,9 @@
 #include <sys/wait.h>
 #include <string.h>
 
-#include <ffmpeg/common.h>
-#include <ffmpeg/avformat.h>
+#include <libavutil/common.h>
+#include <libavformat/avformat.h>
+#include <libswscale/swscale.h>
 
 #include "dvutils.h"
 
@@ -132,11 +133,12 @@
 	AVCodec *acodec = NULL;
 	AVCodec *vcodec = NULL;
 	ReSampleContext *resample = NULL;
+        struct SwsContext *sws = NULL;
 	double fps = 0.0;
 
     for( i = 0; i < this->context->nb_streams; i++ ) 
 	{
-        AVCodecContext *enc = &this->context->streams[ i ]->codec;
+        AVCodecContext *enc = this->context->streams[ i ]->codec;
         switch( enc->codec_type ) 
 		{
         	case CODEC_TYPE_VIDEO:
@@ -155,7 +157,7 @@
 	if ( this->video_index >= 0 )
 	{
 		vstream = this->context->streams[ this->video_index ];
-		venc = &this->context->streams[ this->video_index ]->codec;
+		venc = this->context->streams[ this->video_index ]->codec;
 		vcodec = avcodec_find_decoder( venc->codec_id );
 		fps = (double) venc->time_base.den / (double) venc->time_base.num;
 		if ( fps > 10000 ) fps /= 1000;
@@ -168,7 +170,7 @@
 	if ( this->audio_index >= 0 )
 	{
 		astream = this->context->streams[ this->audio_index ];
- 		aenc = &this->context->streams[ this->audio_index ]->codec;
+ 		aenc = this->context->streams[ this->audio_index ]->codec;
 		acodec = avcodec_find_decoder( aenc->codec_id );
 		if ( this->channels != aenc->channels && aenc->codec_id == CODEC_ID_AC3)
 			aenc->channels = this->channels;
@@ -212,6 +214,10 @@
 		info.width = venc->width;
 		info.height = venc->height;
 
+
+		sws = sws_getContext( venc->width, venc->height, venc->pix_fmt, venc->width, venc->height,
+		                      PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL );
+
 		dvframes_init( info, multiplier );
 
 		do
@@ -235,7 +241,7 @@
 
 				while ( len > 0 )
 				{
-					len1 = avcodec_decode_video( &vstream->codec, frame, &got_picture, ptr, len);
+					len1 = avcodec_decode_video( vstream->codec, frame, &got_picture, ptr, len);
 					if ( len1 < 0 )
 						break;
 					if ( got_picture )
@@ -244,8 +250,9 @@
 						//if ( video_pts > 0 )
 							//fprintf( stderr, "video_pts = %f\n", video_pts );
 
-        				img_convert((AVPicture *)output, PIX_FMT_RGB24, (AVPicture *)frame, 
-									venc->pix_fmt, venc->width, venc->height);
+						sws_scale( sws, ((AVPicture*)frame)->data, ((AVPicture*)frame)->linesize,
+						           0, venc->height,
+						           ((AVPicture*)output)->data, ((AVPicture*)output)->linesize );
 
 						first = 0;
 
@@ -266,7 +273,8 @@
 
 				while ( len > 0 )
 				{
-            		len1 = avcodec_decode_audio(&astream->codec, audio_buf, &data_size, ptr, len );
+					data_size = sizeof(audio_buf);
+            		len1 = avcodec_decode_audio2(astream->codec, audio_buf, &data_size, ptr, len );
 					len -= len1;
 					ptr += len1;
 					if ( data_size > 0 )
@@ -292,6 +300,7 @@
 		}
 		while ( ret >= 0 );
 
+		sws_freeContext( sws );
 		dvframes_close( );
     }
 	else
@@ -340,7 +349,7 @@
     for(i=0;i<ic->nb_streams;i++) 
 	{
         AVStream *st = ic->streams[i];
-		AVCodecContext *enc = &st->codec;
+		AVCodecContext *enc = st->codec;
 		AVCodec *p = avcodec_find_decoder(enc->codec_id);
 		if ( p )
         	printf("%c%d: %s\n", enc->codec_type == CODEC_TYPE_VIDEO ? 'V' : 'A', i, p->name );

Tags added: patch Request was from Thomas Viehmann <tv@beamnet.de> to control@bugs.debian.org. (Thu, 12 Mar 2009 23:15:27 GMT) (full text, mbox, link).


Reply sent to Thomas Viehmann <tv@beamnet.de>:
You have taken responsibility. (Fri, 13 Mar 2009 00:15:05 GMT) (full text, mbox, link).


Notification sent to Paul Wise <pabs@debian.org>:
Bug acknowledged by developer. (Fri, 13 Mar 2009 00:15:05 GMT) (full text, mbox, link).


Message #17 received at 487645-close@bugs.debian.org (full text, mbox, reply):

From: Thomas Viehmann <tv@beamnet.de>
To: 487645-close@bugs.debian.org
Subject: Bug#487645: fixed in smilutils 0.3.2+cvs20070731-4.1
Date: Fri, 13 Mar 2009 00:02:03 +0000
Source: smilutils
Source-Version: 0.3.2+cvs20070731-4.1

We believe that the bug you reported is fixed in the latest version of
smilutils, which is due to be installed in the Debian FTP archive:

smilutils_0.3.2+cvs20070731-4.1.diff.gz
  to pool/main/s/smilutils/smilutils_0.3.2+cvs20070731-4.1.diff.gz
smilutils_0.3.2+cvs20070731-4.1.dsc
  to pool/main/s/smilutils/smilutils_0.3.2+cvs20070731-4.1.dsc
smilutils_0.3.2+cvs20070731-4.1_amd64.deb
  to pool/main/s/smilutils/smilutils_0.3.2+cvs20070731-4.1_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 487645@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Viehmann <tv@beamnet.de> (supplier of updated smilutils package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 07 Mar 2009 21:04:05 +0100
Source: smilutils
Binary: smilutils
Architecture: source amd64
Version: 0.3.2+cvs20070731-4.1
Distribution: unstable
Urgency: low
Maintainer: Roland Mas <lolando@debian.org>
Changed-By: Thomas Viehmann <tv@beamnet.de>
Description: 
 smilutils  - Digital Video command line utilities
Closes: 487645 517465
Changes: 
 smilutils (0.3.2+cvs20070731-4.1) unstable; urgency=low
 .
   * Non-maintainer upload.
   * Move off removed ffmpeg functions:
     - avcodec_audio_decode -> avcodec_audio_decode2
     - img_convert -> sws_scale (with tedium of context acquisiton etc.)
     - add libswscale-dev to build-depends
     Closes: #517465, #487645.
   * Fix the not completely ideal pointer usage in ffmpeg2raw that
     caused some compiler warnings and also impeded testing because
     ffmpeg2raw invariably printed  "No video or audio stream found"
     instead of actually doing something.
Checksums-Sha1: 
 91d31da7dfc0ee07c84396129ae44b5968dfe598 1383 smilutils_0.3.2+cvs20070731-4.1.dsc
 51146ec7ef89dfd78217a6e9b4aac248da2775d5 28902 smilutils_0.3.2+cvs20070731-4.1.diff.gz
 55feb6fa28fe5f3727be9e7cc49668104170eb2e 557530 smilutils_0.3.2+cvs20070731-4.1_amd64.deb
Checksums-Sha256: 
 c1d4ade0bcd332bc1f2a1008ebae12f7d493b143887ceefa980cf2326bb6453c 1383 smilutils_0.3.2+cvs20070731-4.1.dsc
 485f33a20c9b009cf52144d90ced4b0af605be0ca2bb5990cff159d47a4ebc80 28902 smilutils_0.3.2+cvs20070731-4.1.diff.gz
 c4b4375a625488abab7a5a2540c47493d974340e9e5c23886b800aa629d1d676 557530 smilutils_0.3.2+cvs20070731-4.1_amd64.deb
Files: 
 0e8b7c9f56d54ea4bae8db0eaf511527 1383 graphics extra smilutils_0.3.2+cvs20070731-4.1.dsc
 18c06aa72a2f18b4e6590356008471aa 28902 graphics extra smilutils_0.3.2+cvs20070731-4.1.diff.gz
 24a405d21885cf02a8e97a3684e6a580 557530 graphics extra smilutils_0.3.2+cvs20070731-4.1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Signed by Ana Guerrero

iEYEARECAAYFAkm5nqEACgkQn3j4POjENGGiBQCeIWrLDSxnmqq4VIilpPET9639
ipcAnA2wKR7/ki+EZom2aiJXLncyyu1x
=OQd/
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 27 Apr 2009 07:32:28 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Jan 11 16:17:49 2018; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.