avoid of fix warnings issued by Visual Studio YAZ-803
[yaz-moved-to-github.git] / src / ber_bit.c
index 38260f0..becc680 100644 (file)
@@ -1,11 +1,16 @@
-/*
- * Copyright (c) 1995-2003, Index Data
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
- *
- * $Id: ber_bit.c,v 1.1 2003-10-27 12:21:30 adam Exp $
+ */
+
+/**
+ * \file ber_bit.c
+ * \brief Implements BER BITSTRING encoding and decoding.
  *
+ * This source file implements BER encoding and decoding of
+ * the BITSTRING type.
  */
+
 #if HAVE_CONFIG_H
 #include <config.h>
 #endif
 int ber_bitstring(ODR o, Odr_bitmask *p, int cons)
 {
     int res, len;
-    const unsigned char *base;
+    const char *base;
 
     switch (o->direction)
     {
     case ODR_DECODE:
-        if ((res = ber_declen(o->bp, &len, odr_max(o))) < 0)
+        if ((res = ber_declen(o->op->bp, &len, odr_max(o))) < 0)
         {
             odr_seterror(o, OPROTO, 4);
             return 0;
         }
-        o->bp += res;
+        o->op->bp += res;
         if (cons)       /* fetch component strings */
         {
-            base = o->bp;
+            base = o->op->bp;
             while (odp_more_chunks(o, base, len))
                 if (!odr_bitstring(o, &p, 0, 0))
                     return 0;
@@ -52,11 +57,11 @@ int ber_bitstring(ODR o, Odr_bitmask *p, int cons)
             odr_seterror(o, OOTHER, 7);
             return 0;
         }
-        o->bp++;      /* silently ignore the unused-bits field */
+        o->op->bp++;      /* silently ignore the unused-bits field */
         len--;
-        memcpy(p->bits + p->top + 1, o->bp, len);
+        memcpy(p->bits + p->top + 1, o->op->bp, len);
         p->top += len;
-        o->bp += len;
+        o->op->bp += len;
         return 1;
     case ODR_ENCODE:
         if ((res = ber_enclen(o, p->top + 2, 5, 0)) < 0)
@@ -70,8 +75,17 @@ int ber_bitstring(ODR o, Odr_bitmask *p, int cons)
         return 1;
     case ODR_PRINT:
         return 1;
-    default: 
+    default:
         odr_seterror(o, OOTHER, 8);
         return 0;
     }
 }
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+