]> git.sur5r.net Git - openldap/commitdiff
Fix struct initialization in ber_scanf() for ANSI C conformance
authorHoward Chu <hyc@openldap.org>
Sat, 12 Jan 2002 02:23:04 +0000 (02:23 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 12 Jan 2002 02:23:04 +0000 (02:23 +0000)
libraries/liblber/decode.c

index ff1f6edaddfa194507fd4a1ae72d353dc2f7517c..b297a9c5a564d97acfaa6d4abf2d64743088f72f 100644 (file)
@@ -299,8 +299,8 @@ enum bgbvc { ChArray, BvArray, BvVec, BvOff };
  * stack use to the absolute minimum.
  */
 typedef struct bgbvr {
-       BerElement *ber;
        enum bgbvc choice;
+       BerElement *ber;
        ber_tag_t tag;
        ber_len_t len;
        char *last;
@@ -729,7 +729,8 @@ ber_scanf ( BerElement *ber,
 
                case 'v':       /* sequence of strings */
                {
-                       bgbvr cookie = { ber, ChArray };
+                       bgbvr cookie = { ChArray };
+                       cookie.ber = ber;
                        cookie.res.c = va_arg( ap, char *** );
                        cookie.alloc = 1;
                        rc = ber_get_stringbvr( &cookie, 0 );
@@ -738,7 +739,8 @@ ber_scanf ( BerElement *ber,
 
                case 'V':       /* sequence of strings + lengths */
                {
-                       bgbvr cookie = { ber, BvVec };
+                       bgbvr cookie = { BvVec };
+                       cookie.ber = ber;
                        cookie.res.bv = va_arg( ap, struct berval *** );
                        cookie.alloc = 1;
                        rc = ber_get_stringbvr( &cookie, 0 );
@@ -747,7 +749,8 @@ ber_scanf ( BerElement *ber,
 
                case 'W':       /* bvarray */
                {
-                       bgbvr cookie = { ber, BvArray };
+                       bgbvr cookie = { BvArray };
+                       cookie.ber = ber;
                        cookie.res.ba = va_arg( ap, struct berval ** );
                        cookie.alloc = 1;
                        rc = ber_get_stringbvr( &cookie, 0 );
@@ -760,7 +763,8 @@ ber_scanf ( BerElement *ber,
                                 * len ptr on finish. parsed in-place.
                                 */
                {
-                       bgbvr cookie = { ber, BvOff };
+                       bgbvr cookie = { BvOff };
+                       cookie.ber = ber;
                        cookie.res.ba = va_arg( ap, struct berval ** );
                        cookie.alloc = 0;
                        l = va_arg( ap, ber_len_t * );