avoid of fix warnings issued by Visual Studio YAZ-803
[yaz-moved-to-github.git] / src / prt-ext.c
index 6af7c61..9fd35c2 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2013 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 /**
@@ -13,6 +13,7 @@
 #include <yaz/proto.h>
 
 #include <yaz/oid_db.h>
+#include "odr-priv.h"
 #define PRT_EXT_DEBUG 0
 
 #if PRT_EXT_DEBUG
@@ -216,8 +217,8 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
         if (zclass == ODR_CONTEXT && tag == 1 && cons == 0)
         {
             /* we have an OCTET STRING. decode BER contents from it */
-            const unsigned char *o_bp;
-            unsigned char *o_buf;
+            const char *o_bp;
+            char *o_buf;
             int o_size;
             char *voidp = 0;
             Odr_oct *oct;
@@ -227,13 +228,13 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
                 return 0;
 
             /* Save our decoding ODR members */
-            o_bp = o->bp;
-            o_buf = o->buf;
-            o_size = o->size;
+            o_bp = o->op->bp;
+            o_buf = o->op->buf;
+            o_size = o->op->size;
 
             /* Set up the OCTET STRING buffer */
-            o->bp = o->buf = oct->buf;
-            o->size = oct->len;
+            o->op->bp = o->op->buf = oct->buf;
+            o->op->size = oct->len;
 
             /* and decode that */
             r = (*type->fun)(o, &voidp, 0, 0);
@@ -241,9 +242,9 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
             (*p)->u.single_ASN1_type = (Odr_any*) voidp;
 
             /* Restore our decoding ODR member */
-            o->bp = o_bp;
-            o->buf = o_buf;
-            o->size = o_size;
+            o->op->bp = o_bp;
+            o->op->buf = o_buf;
+            o->op->size = o_size;
 
             return r && odr_sequence_end(o);
         }
@@ -315,8 +316,8 @@ Z_External *z_ext_record_oid_nmem(NMEM nmem, const Odr_oid *oid,
 
         thisext->which = Z_External_sutrs;
         thisext->u.sutrs = sutrs;
-        sutrs->buf = (unsigned char *)nmem_malloc(nmem, len);
-        sutrs->len = sutrs->size = len;
+        sutrs->buf = (char *)nmem_malloc(nmem, len);
+        sutrs->len = len;
         memcpy(sutrs->buf, buf, len);
     }
     else
@@ -325,11 +326,11 @@ Z_External *z_ext_record_oid_nmem(NMEM nmem, const Odr_oid *oid,
         if (!(thisext->u.octet_aligned = (Odr_oct *)
               nmem_malloc(nmem, sizeof(Odr_oct))))
             return 0;
-        if (!(thisext->u.octet_aligned->buf = (unsigned char *)
+        if (!(thisext->u.octet_aligned->buf = (char *)
               nmem_malloc(nmem, len)))
             return 0;
         memcpy(thisext->u.octet_aligned->buf, buf, len);
-        thisext->u.octet_aligned->len = thisext->u.octet_aligned->size = len;
+        thisext->u.octet_aligned->len = len;
     }
     return thisext;
 }
@@ -356,12 +357,11 @@ Z_External *z_ext_record_oid_any(ODR o, const Odr_oid *oid,
     thisext->u.single_ASN1_type = (Odr_any *) odr_malloc(o, sizeof(Odr_any));
     if (!thisext->u.single_ASN1_type)
         return 0;
-    thisext->u.single_ASN1_type->buf = (unsigned char *) odr_malloc(o, len);
+    thisext->u.single_ASN1_type->buf = (char *) odr_malloc(o, len);
     if (!thisext->u.single_ASN1_type->buf)
         return 0;
     memcpy(thisext->u.single_ASN1_type->buf, buf, len);
-    thisext->u.single_ASN1_type->len = thisext->u.single_ASN1_type->size = len;
-
+    thisext->u.single_ASN1_type->len = len;
     return thisext;
 }