Hello community,

here is the log from the commit of package codec2 for openSUSE:Leap:15.2 
checked in at 2020-02-20 00:07:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/codec2 (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.codec2.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "codec2"

Thu Feb 20 00:07:26 2020 rev:11 rq:765365 version:0.8.1

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/codec2/codec2.changes  2020-01-15 
14:50:36.861422410 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.codec2.new.26092/codec2.changes       
2020-02-20 00:07:28.464138197 +0100
@@ -2 +2 @@
-Tue Jul 17 11:57:34 UTC 2018 - mplus...@suse.com
+Sat Aug 11 07:14:59 UTC 2018 - tchva...@suse.com
@@ -3,0 +4,9 @@
+- Apply upstream patch to fix ambiguous license situation:
+  * codec2-licensed-stuff.patch
+
+-------------------------------------------------------------------
+Tue Jul 17 11:08:45 UTC 2018 - mplus...@suse.com
+
+- Update to version 0.8.1:
+  * No upstream changelog provided
+- Add codec2-no_return_random.patch
@@ -4,0 +14,5 @@
+
+-------------------------------------------------------------------
+Mon Jul 31 23:55:03 UTC 2017 - w...@ire.pw.edu.pl
+
+- Update to version 0.7

Old:
----
  codec2-0.6.tar.xz

New:
----
  codec2-0.8.1.tar.xz
  codec2-licensed-stuff.patch
  codec2-no_return_random.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ codec2.spec ++++++
--- /var/tmp/diff_new_pack.KWzIlQ/_old  2020-02-20 00:07:29.560140315 +0100
+++ /var/tmp/diff_new_pack.KWzIlQ/_new  2020-02-20 00:07:29.564140323 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package codec2
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,20 +16,21 @@
 #
 
 
-%define libname lib%{name}-0_6
+%define libname lib%{name}-0_8
 Name:           codec2
-Version:        0.6
+Version:        0.8.1
 Release:        0
 Summary:        Low bit rate speech codec
 # octave and asterisk directories contain GPL-2.0 licensed code but its not
-# used build, only used in examples subpackage. src/horus_l2.* is not free
-# for non-commercial usage but is not used either.
-License:        LGPL-2.1
+# used build, only used in examples subpackage.
+License:        LGPL-2.1-only
 Group:          Productivity/Hamradio/Other
-Url:            http://rowetel.com/codec2.html
-Source:         http://files.freedv.org/codec2/codec2-%{version}.tar.xz
+URL:            http://rowetel.com/codec2.html
+Source:         
https://hobbes1069.fedorapeople.org/freetel/codec2/codec2-%{version}.tar.xz
 Source1:        %{name}-rpmlintrc
 Source2:        baselibs.conf
+Patch0:         codec2-no_return_random.patch
+Patch1:         codec2-licensed-stuff.patch
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
@@ -43,7 +44,7 @@
 
 %package -n %{libname}
 Summary:        Low bit rate speech codec
-License:        LGPL-2.1
+License:        LGPL-2.1-only
 Group:          System/Libraries
 
 %description -n %{libname}
@@ -52,7 +53,7 @@
 
 %package devel
 Summary:        Development library for codec2
-License:        GPL-2.0 AND LGPL-2.1
+License:        GPL-2.0-only AND LGPL-2.1-only
 Group:          Development/Libraries/C and C++
 Requires:       %{libname} = %{version}
 
@@ -62,7 +63,7 @@
 
 %package examples
 Summary:        Example code for Codec 2
-License:        GPL-2.0 AND LGPL-2.1
+License:        GPL-2.0-only AND LGPL-2.1-only
 Group:          Productivity/Hamradio/Other
 Requires:       %{name}-devel = %{version}
 BuildArch:      noarch
@@ -72,16 +73,15 @@
 
 %prep
 %setup -q
-# horus_l2.* is not needed for building and has to be removed due to
-# licensing reasons
-rm -rf src/horus_l2.*
+%patch0 -p1
+%patch1 -p0
 
 %build
 %cmake \
   -DINSTALL_EXAMPLES=TRUE \
   -DUNITTEST=TRUE \
   -Wno-dev
-make %{?_smp_mflags}
+%make_jobs
 
 %install
 %cmake_install
@@ -106,8 +106,8 @@
 %postun -n %{libname} -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root)
-%doc COPYING README README_fdmdv.txt
+%license COPYING
+%doc README README_fdmdv.txt
 %{_bindir}/c2dec
 %{_bindir}/c2demo
 %{_bindir}/c2enc
@@ -126,17 +126,14 @@
 %{_bindir}/insert_errors
 
 %files -n %{libname}
-%defattr(-,root,root)
 %{_libdir}/libcodec2.so.*
 
 %files devel
-%defattr(-, root, root)
 %{_includedir}/*
 %{_libdir}/libcodec2.so
 %{_libdir}/pkgconfig/%{name}.pc
 
 %files examples
-%defattr(-,root,root)
 %{_datadir}/%{name}/
 
 %changelog

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.KWzIlQ/_old  2020-02-20 00:07:29.600140392 +0100
+++ /var/tmp/diff_new_pack.KWzIlQ/_new  2020-02-20 00:07:29.600140392 +0100
@@ -1 +1 @@
-libcodec2-0_6
+libcodec2-0_8

++++++ codec2-0.6.tar.xz -> codec2-0.8.1.tar.xz ++++++
/work/SRC/openSUSE:Leap:15.2/codec2/codec2-0.6.tar.xz 
/work/SRC/openSUSE:Leap:15.2/.codec2.new.26092/codec2-0.8.1.tar.xz differ: char 
25, line 1

++++++ codec2-licensed-stuff.patch ++++++
Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt.orig
+++ src/CMakeLists.txt
@@ -378,8 +378,8 @@ target_link_libraries(drs232 ${CMAKE_REQ
 add_executable(drs232_ldpc drs232_ldpc.c)
 target_link_libraries(drs232_ldpc ${CMAKE_REQUIRED_LIBRARIES} codec2)
 
-add_definitions(-DHORUS_L2_RX -DINTERLEAVER -DSCRAMBLER)
-add_executable(horus_demod horus_demod.c horus_api.c horus_l2.c fsk.c 
kiss_fft.c)
+add_definitions(-DHORUS_L2_RX -DINTERLEAVER -DSCRAMBLER -DRUN_TIME_TABLES)
+add_executable(horus_demod horus_demod.c horus_api.c horus_l2.c golay23.c 
fsk.c kiss_fft.c)
 target_link_libraries(horus_demod ${CMAKE_REQUIRED_LIBRARIES})
 
 install(TARGETS codec2 EXPORT codec2-config
Index: src/golay23.c
===================================================================
--- src/golay23.c.orig
+++ src/golay23.c
@@ -53,7 +53,7 @@ static int inited = 0;
 //since we want to avoid bit-reversing inside syndrome() we bit-reverse the 
polynomial instead
 #define GOLAY_POLYNOMIAL    0xC75   //AE3 reversed
 
-static int syndrome(int c) {
+int golay23_syndrome(int c) {
     //could probably be done slightly smarter, but works
     int x;
     for (x = 11; x >= 0; x--) {
@@ -85,7 +85,7 @@ static int popcount(unsigned int c) {
 #if defined(NO_TABLES) || defined(RUN_TIME_TABLES)
 static int golay23_encode_no_tables(int c) {
     c <<= 11;
-    return syndrome(c) | c;
+    return golay23_syndrome(c) | c;
 }
 #endif
 
@@ -101,7 +101,7 @@ static int golay23_decode_no_tables(int
 
     for (x = 0; x < 23; x++) {
         int t;
-        int s = syndrome(c);
+        int s = golay23_syndrome(c);
 
         if (popcount(s) <= 3) {
             return unrotate(c ^ s, x) & 0xFFF;
@@ -109,7 +109,7 @@ static int golay23_decode_no_tables(int
 
         for (t = 0; t < 23; t++) {
             int c2 = c ^ (1 << t);
-            int s = syndrome(c2);
+            int s = golay23_syndrome(c2);
 
             if (popcount(s) <= 2) {
                 return unrotate(c2 ^ s, x) & 0xFFF;
@@ -138,13 +138,13 @@ void golay23_init(void) {
     //1-bit errors
     for (x = 0; x < 23; x++) {
         int d = 1<<x;
-        decoding_table[syndrome(d)] = d;
+        decoding_table[golay23_syndrome(d)] = d;
     }
     //2-bit errors
     for (x = 0; x < 22; x++) {
         for (y = x+1; y < 23; y++) {
             int d = (1<<x) | (1<<y);
-            decoding_table[syndrome(d)] = d;
+            decoding_table[golay23_syndrome(d)] = d;
         }
     }
     //3-bit errors
@@ -152,7 +152,7 @@ void golay23_init(void) {
         for (y = x+1; y < 22; y++) {
             for (z = y+1; z < 23; z++) {
                 int d = (1<<x) | (1<<y) | (1<<z);
-                decoding_table[syndrome(d)] = d;
+                decoding_table[golay23_syndrome(d)] = d;
             }
         }
     }
@@ -183,7 +183,7 @@ int  golay23_decode(int c) {
     return unrotate(golay23_decode_no_tables(c), 11);
 #else
     //message is shifted 11 places left in the return value
-    return c ^ decoding_table[syndrome(c)];
+    return c ^ decoding_table[golay23_syndrome(c)];
 #endif
 }
 
Index: src/golay23.h
===================================================================
--- src/golay23.h.orig
+++ src/golay23.h
@@ -36,6 +36,7 @@ void golay23_init(void);
 int  golay23_encode(int data);
 int  golay23_decode(int received_codeword);
 int  golay23_count_errors(int recd_codeword, int corrected_codeword);
+int  golay23_syndrome(int c);
 
 #ifdef __cplusplus
 }
Index: src/horus_l2.c
===================================================================
--- src/horus_l2.c.orig
+++ src/horus_l2.c
@@ -9,9 +9,6 @@
   data and parity bits, pre-pends a Unique Word for modem sync.
   Caller is responsible for providing storage for output packet.
 
-  [ ] code based interleaver
-  [ ] test correction of 1,2 & 3 error patterms    
-
   1/ Unit test on a PC:
 
      $ gcc horus_l2.c -o horus_l2 -Wall -DHORUS_L2_UNITTEST
@@ -29,24 +26,24 @@
   2/ To build with just the tx function, ie for linking with the payload
   firmware:
 
-    $ gcc horus_l2.c -c -Wall
+    $ gcc horus_l2.c golay23.c -c -Wall
     
   By default the RX side is #ifdef-ed out, leaving the minimal amount
   of code for tx.
 
   3/ Generate some tx_bits as input for testing with fsk_horus:
  
-    $ gcc horus_l2.c -o horus_l2 -Wall -DGEN_TX_BITS -DSCRAMBLER
+    $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DGEN_TX_BITS -DSCRAMBLER
     $ ./horus_l2
     $ more ../octave/horus_tx_bits_binary.txt
    
   4/ Unit testing interleaver:
 
-    $ gcc horus_l2.c -o horus_l2 -Wall -DINTERLEAVER -DTEST_INTERLEAVER 
-DSCRAMBLER
+    $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DINTERLEAVER 
-DTEST_INTERLEAVER -DSCRAMBLER
 
   5/ Compile for use as decoder called by fsk_horus.m and fsk_horus_stream.m:
 
-    $ gcc horus_l2.c -o horus_l2 -Wall -DDEC_RX_BITS -DHORUS_L2_RX
+    $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DDEC_RX_BITS -DHORUS_L2_RX
 
 \*---------------------------------------------------------------------------*/
 
@@ -56,22 +53,23 @@
 #include <string.h>
 #include <stdint.h>
 #include "horus_l2.h"
+#include "golay23.h"
+
 
 #ifdef HORUS_L2_UNITTEST
 #define HORUS_L2_RX
 #endif
 
-#define RUN_TIME_TABLES
-
 static char uw[] = {'$','$'};
 
 /* Function Prototypes ------------------------------------------------*/
 
-int32_t get_syndrome(int32_t pattern);
-void golay23_init(void);
-int golay23_decode(int received_codeword);
+#ifdef INTERLEAVER
 void interleave(unsigned char *inout, int nbytes, int dir);
+#endif
+#ifdef SCRAMBLER
 void scramble(unsigned char *inout, int nbytes);
+#endif
 
 /* Functions ----------------------------------------------------------*/
 
@@ -177,7 +175,7 @@ int horus_l2_encode_tx_packet(unsigned c
             #ifdef DEBUG0
             fprintf(stderr, "  ningolay: %d ingolay: 0x%04x\n", ningolay, 
ingolay);
             #endif
-            golayparity = get_syndrome(ingolay<<11);
+            golayparity = golay23_syndrome(ingolay<<11);
             ingolay = 0;
 
             #ifdef DEBUG0
@@ -219,7 +217,7 @@ int horus_l2_encode_tx_packet(unsigned c
 
     if (ningolay % 12) {
         ingolay >>= 1;
-        golayparity = get_syndrome(ingolay<<12);
+        golayparity = golay23_syndrome(ingolay<<12);
         #ifdef DEBUG0
         fprintf(stderr, "  ningolay: %d ingolay: 0x%04x\n", ningolay, ingolay);
         fprintf(stderr, "  golayparity: 0x%04x\n", golayparity);
@@ -292,8 +290,10 @@ void horus_l2_decode_rx_packet(unsigned
     unsigned char *pin  = input_rx_data;
     int            ninbit, ingolay, ningolay, paritybyte, nparitybits;
     int            ninbyte, shift, inbit, golayparitybit, i, outbit, outbyte, 
noutbits, outdata;
+    #if defined(SCRAMBLER) || defined(INTERLEAVER)
     int num_tx_data_bytes = 
horus_l2_get_num_tx_data_bytes(num_payload_data_bytes);
-
+    #endif
+    
     /* optional scrambler and interleaver - we dont interleave UW */
 
     #ifdef SCRAMBLER
@@ -878,291 +878,6 @@ int main(void) {
 }
 #endif
 
-/*---------------------------------------------------------------------------*\
-
-                                   GOLAY FUNCTIONS
-
-\*---------------------------------------------------------------------------*/
-
-/* File:    golay23.c
- * Title:   Encoder/decoder for a binary (23,12,7) Golay code
- * Author:  Robert Morelos-Zaragoza (rob...@spectra.eng.hawaii.edu)
- * Date:    August 1994
- *
- * The binary (23,12,7) Golay code is an example of a perfect code, that is,
- * the number of syndromes equals the number of correctable error patterns.
- * The minimum distance is 7, so all error patterns of Hamming weight up to
- * 3 can be corrected. The total number of these error patterns is:
- *
- *       Number of errors         Number of patterns
- *       ----------------         ------------------
- *              0                         1
- *              1                        23
- *              2                       253
- *              3                      1771
- *                                     ----
- *    Total number of error patterns = 2048 = 2^{11} = number of syndromes
- *                                               --
- *                number of redundant bits -------^
- *
- * Because of its relatively low length (23), dimension (12) and number of
- * redundant bits (11), the binary (23,12,7) Golay code can be encoded and
- * decoded simply by using look-up tables. The program below uses a 16K
- * encoding table and an 8K decoding table.
- *
- * For more information, suggestions, or other ideas on implementing error
- * correcting codes, please contact me at (I'm temporarily in Japan, but
- * below is my U.S. address):
- *
- *                    Robert Morelos-Zaragoza
- *                    770 S. Post Oak Ln. #200
- *                      Houston, Texas 77056
- *
- *             email: rob...@spectra.eng.hawaii.edu
- *
- *       Homework: Add an overall parity-check bit to get the (24,12,8)
- *                 extended Golay code.
- *
- * COPYRIGHT NOTICE: This computer program is free for non-commercial purposes.
- * You may implement this program for any non-commercial application. You may
- * also implement this program for commercial purposes, provided that you
- * obtain my written permission. Any modification of this program is covered
- * by this copyright.
- *
- * ==   Copyright (c) 1994  Robert Morelos-Zaragoza. All rights reserved.   ==
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define X22             0x00400000   /* vector representation of X^{22} */
-#define X11             0x00000800   /* vector representation of X^{11} */
-#define MASK12          0xfffff800   /* auxiliary vector for testing */
-#define GENPOL          0x00000c75   /* generator polinomial, g(x) */
-
-/* Global variables:
- *
- * pattern = error pattern, or information, or received vector
- * encoding_table[] = encoding table
- * decoding_table[] = decoding table
- * data = information bits, i(x)
- * codeword = code bits = x^{11}i(x) + (x^{11}i(x) mod g(x))
- * numerr = number of errors = Hamming weight of error polynomial e(x)
- * position[] = error positions in the vector representation of e(x)
- * recd = representation of corrupted received polynomial r(x) = c(x) + e(x)
- * decerror = number of decoding errors
- * a[] = auxiliary array to generate correctable error patterns
- */
-
-#ifdef HORUS_L2_RX
-static int inited =  0;
-
-#ifdef RUN_TIME_TABLES
-static int encoding_table[4096], decoding_table[2048];
-#else
-#include "golayenctable.h"
-#include "golaydectable.h"
-#endif
-
-#ifdef RUN_TIME_TABLES
-static int arr2int(int a[], int r)
-/*
- * Convert a binary vector of Hamming weight r, and nonzero positions in
- * array a[1]...a[r], to a long integer \sum_{i=1}^r 2^{a[i]-1}.
- */
-{
-   int i;
-   long mul, result = 0, temp;
-
-   for (i=1; i<=r; i++) {
-      mul = 1;
-      temp = a[i]-1;
-      while (temp--)
-         mul = mul << 1;
-      result += mul;
-      }
-   return(result);
-}
-#endif
-#endif
-
-#ifdef HORUS_L2_RX
-void nextcomb(int n, int r, int a[])
-/*
- * Calculate next r-combination of an n-set.
- */
-{
-  int  i, j;
-
-  a[r]++;
-  if (a[r] <= n)
-      return;
-  j = r - 1;
-  while (a[j] == n - r + j)
-     j--;
-  for (i = r; i >= j; i--)
-      a[i] = a[j] + i - j + 1;
-  return;
-}
-#endif
-
-int32_t get_syndrome(int32_t pattern)
-/*
- * Compute the syndrome corresponding to the given pattern, i.e., the
- * remainder after dividing the pattern (when considering it as the vector
- * representation of a polynomial) by the generator polynomial, GENPOL.
- * In the program this pattern has several meanings: (1) pattern = infomation
- * bits, when constructing the encoding table; (2) pattern = error pattern,
- * when constructing the decoding table; and (3) pattern = received vector, to
- * obtain its syndrome in decoding.
- */
-{
-    int32_t aux = X22;
-
-    if (pattern >= X11)
-       while (pattern & MASK12) {
-           while (!(aux & pattern))
-              aux = aux >> 1;
-           pattern ^= (aux/X11) * GENPOL;
-           }
-    return(pattern);
-}
-
-#ifdef HORUS_L2_RX
-
-/*---------------------------------------------------------------------------*\
-
-  FUNCTION....: golay23_init()
-  AUTHOR......: David Rowe
-  DATE CREATED: 3 March 2013
-
-  Call this once when you start your program to init the Golay tables.
-
-\*---------------------------------------------------------------------------*/
-
-void golay23_init(void) {
-#ifdef RUN_TIME_TABLES
-   int  i;
-   long temp;
-   int  a[4];
-   int  pattern;
-
-   /*
-    * ---------------------------------------------------------------------
-    *                  Generate ENCODING TABLE
-    *
-    * An entry to the table is an information vector, a 32-bit integer,
-    * whose 12 least significant positions are the information bits. The
-    * resulting value is a codeword in the (23,12,7) Golay code: A 32-bit
-    * integer whose 23 least significant bits are coded bits: Of these, the
-    * 12 most significant bits are information bits and the 11 least
-    * significant bits are redundant bits (systematic encoding).
-    * ---------------------------------------------------------------------
-    */
-    for (pattern = 0; pattern < 4096; pattern++) {
-        temp = pattern << 11;          /* multiply information by X^{11} */
-        encoding_table[pattern] = temp + get_syndrome(temp);/* add redundancy 
*/
-        }
-
-   /*
-    * ---------------------------------------------------------------------
-    *                  Generate DECODING TABLE
-    *
-    * An entry to the decoding table is a syndrome and the resulting value
-    * is the most likely error pattern. First an error pattern is generated.
-    * Then its syndrome is calculated and used as a pointer to the table
-    * where the error pattern value is stored.
-    * ---------------------------------------------------------------------
-    *
-    * (1) Error patterns of WEIGHT 1 (SINGLE ERRORS)
-    */
-    decoding_table[0] = 0;
-    decoding_table[1] = 1;
-    temp = 1;
-    for (i=2; i<= 23; i++) {
-        temp *= 2;
-        decoding_table[get_syndrome(temp)] = temp;
-        }
-   /*
-    * (2) Error patterns of WEIGHT 2 (DOUBLE ERRORS)
-    */
-    a[1] = 1; a[2] = 2;
-    temp = arr2int(a,2);
-    decoding_table[get_syndrome(temp)] = temp;
-    for (i=1; i<253; i++) {
-        nextcomb(23,2,a);
-        temp = arr2int(a,2);
-        decoding_table[get_syndrome(temp)] = temp;
-        }
-   /*
-    * (3) Error patterns of WEIGHT 3 (TRIPLE ERRORS)
-    */
-    a[1] = 1; a[2] = 2; a[3] = 3;
-    temp = arr2int(a,3);
-    decoding_table[get_syndrome(temp)] = temp;
-    for (i=1; i<1771; i++) {
-        nextcomb(23,3,a);
-        temp = arr2int(a,3);
-        decoding_table[get_syndrome(temp)] = temp;
-    }
-#endif
-    inited = 1;
-}
-
-/*---------------------------------------------------------------------------*\
-
-  FUNCTION....: golay23_encode()
-  AUTHOR......: David Rowe
-  DATE CREATED: 3 March 2013
-
-  Given 12 bits of data retiurns a 23 bit codeword for transmission
-  over the channel.
-
-\*---------------------------------------------------------------------------*/
-
-int golay23_encode(int data) {
-    assert(inited);
-    assert(data <= 0xfff);
-
-    //printf("data: 0x%x\n", data);
-    return encoding_table[data];
-}
-
-/*---------------------------------------------------------------------------*\
-
-  FUNCTION....: golay23_decode()
-  AUTHOR......: David Rowe
-  DATE CREATED: 3 March 2013
-
-  Given a 23 bit received codeword, returns the 12 bit corrected data.
-
-\*---------------------------------------------------------------------------*/
-
-int golay23_decode(int received_codeword) {
-    assert(inited);
-    assert((received_codeword < (1<<23)) && (received_codeword >= 0));
-
-    //printf("syndrome: 0x%x\n", get_syndrome(received_codeword));
-    return received_codeword ^= 
decoding_table[get_syndrome(received_codeword)];
-}
-
-int golay23_count_errors(int recd_codeword, int corrected_codeword)
-{
-    int errors = 0;
-    int diff, i;
-
-    diff = recd_codeword ^ corrected_codeword;
-    for(i=0; i<23; i++) {
-        if (diff & 0x1)
-            errors++;
-        diff >>= 1;
-    }
-
-    return errors;
-}
-
-#endif
-
 // from 
http://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum
 
 unsigned short horus_l2_gen_crc16(unsigned char* data_p, unsigned char length) 
{
++++++ codec2-no_return_random.patch ++++++
Index: codec2-0.8.1/src/gp_interleaver.c
===================================================================
--- codec2-0.8.1.orig/src/gp_interleaver.c
+++ codec2-0.8.1/src/gp_interleaver.c
@@ -74,6 +74,7 @@ int choose_interleaver_b(int Nbits)
     /* if we get it means a Nbits we dont have in our table so choke */
     
     assert(0);
+    return(0);
 }
 
 

Reply via email to