gui: Output "xxx tag not set" for unset tags rather than empty strings.
[paraslash.git] / fec.c
diff --git a/fec.c b/fec.c
index e543aedcfc7078d81e4c3165f2e379fa77571502..d097b77de836248d79142348f254dd4c3ef57817 100644 (file)
--- a/fec.c
+++ b/fec.c
@@ -1,5 +1,6 @@
+/** \file fec.c Forward error correction based on Vandermonde matrices. */
+
 /*
- * fec.c -- forward error correction based on Vandermonde matrices
  * 980624
  * (C) 1997-98 Luigi Rizzo (luigi@iet.unipi.it)
  *
@@ -32,6 +33,8 @@
  * OF SUCH DAMAGE.
  */
 
+#include <regex.h>
+
 #include "para.h"
 #include "error.h"
 #include "portable_io.h"
@@ -214,7 +217,7 @@ static void matmul(unsigned char *a, unsigned char *b, unsigned char *c,
  * Compute the inverse of a matrix.
  *
  * k is the size of the matrix 'src' (Gauss-Jordan, adapted from Numerical
- * Recipes in C). Returns -1 if 'src' is singular.
+ * Recipes in C). Returns negative on errors.
  */
 static int invert_mat(unsigned char *src, int k)
 {
@@ -394,8 +397,13 @@ static void init_fec(void)
        fec_initialized = 1;
 }
 
+/** Internal FEC parameters. */
 struct fec_parms {
-       int k, n; /* parameters of the code */
+       /** Number of data slices. */
+       int k;
+       /** Number of slices (including redundant slices). */
+       int n;
+       /** The encoding matrix, computed by init_fec(). */
        unsigned char *enc_matrix;
 };
 
@@ -480,7 +488,7 @@ int fec_new(int k, int n, struct fec_parms **result)
  * \param sz The size of the input data packets.
  *
  * Encode the \a k slices of size \a sz given by \a src and store the output
- * slice number \a idx in \dst.
+ * slice number \a idx in \dst.
  */
 void fec_encode(struct fec_parms *parms, const unsigned char * const *src,
                unsigned char *dst, int idx, int sz)
@@ -553,7 +561,7 @@ err:
 /**
  * Decode one slice from the group of received slices.
  *
- * \param code Pointer to fec params structure.
+ * \param parms Pointer to fec params structure.
  * \param data Pointers to received packets.
  * \param idx Pointer to packet indices (gets modified).
  * \param sz Size of each packet.