* Makefile.in (check-unix): Built and execture dyntest
authorEzra Peisach <epeisach@mit.edu>
Thu, 9 Nov 2000 19:35:26 +0000 (19:35 +0000)
committerEzra Peisach <epeisach@mit.edu>
Thu, 9 Nov 2000 19:35:26 +0000 (19:35 +0000)
* test.c: Include string,h, stdlib.h.

* dyn_create.c, dyn_delete.c, dyn_insert.c, dyn_put.c,
dyn_realloc.c: Cast arguments to malloc(), realloc(), memmove() to
size_t.

* dynP.h: Provide full prototypes for _DynRealloc() and _DynResize().

* dyn.h: Add prototype for DynAppend.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12866 dc483132-0cff-0310-8789-dd5450dbe970

src/util/dyn/ChangeLog
src/util/dyn/Makefile.in
src/util/dyn/dyn.h
src/util/dyn/dynP.h
src/util/dyn/dyn_create.c
src/util/dyn/dyn_delete.c
src/util/dyn/dyn_insert.c
src/util/dyn/dyn_put.c
src/util/dyn/dyn_realloc.c
src/util/dyn/test.c

index afc80b61a598e7e7dd1c8785767721dd56dd24ad..7257ae0abcc539f2e33d457e19b8cfbbccb5e3d0 100644 (file)
@@ -1,3 +1,17 @@
+2000-11-09  Ezra Peisach  <epeisach@mit.edu>
+
+       * Makefile.in (check-unix): Built and execture dyntest.
+
+       * test.c: Include string,h, stdlib.h.
+
+       * dyn_create.c, dyn_delete.c, dyn_insert.c, dyn_put.c,
+       dyn_realloc.c: Cast arguments to malloc(), realloc(), memmove() to
+       size_t.
+
+       * dynP.h: Provide full prototypes for _DynRealloc() and _DynResize().
+
+       * dyn.h: Add prototype for DynAppend.
+
 2000-06-29  Ezra Peisach  <epeisach@mit.edu>
 
        * dyn_insert.c, dyn_put.c: Include string.h for memmove prototype.
index 1215998cbf4e21fe2470a4d4dd554ec816831c2c..850d36504476afcac2463924ed360e87cc628cf3 100644 (file)
@@ -55,7 +55,13 @@ includes:: dyn.h
        fi
 
 clean-unix::
-       $(RM) $(BUILDTOP)/include/dyn.h
+       $(RM) $(BUILDTOP)/include/dyn.h test.o dyntest
+
+check-unix:: dyntest
+       ./dyntest
+
+dyntest: test.o $(OBJS)
+       $(CC) -o dyntest test.o $(OBJS)
 
 check-windows::
 clean-mac::
index 4015651991b3fe89856c06ba41382bff9552650d..f884588de283a3b74aa48713951e1d3d0da6c2e5 100644 (file)
@@ -56,6 +56,7 @@ int DynParanoid P((DynObject obj, int state));
 int DynInitzero P((DynObject obj, int state));
 int DynSize P((DynObject obj));
 int DynCapacity P((DynObject obj));
+int DynAppend P((DynObject obj, DynPtr els, int num));
 
 #undef P
 
index 0f20ba7c8c6e28253a2fe0fea8a930d715ac69ac..6cc6e58670c304e3fc33ba36bf757523008d7037 100644 (file)
 
 typedef struct _DynObject DynObjectRecP, *DynObjectP;
 
+/* Function declarations */
+#ifdef __STDC__
+#define P(args) args
+#else
+#define P(args) ()
+#endif /* __STDC__ */
+
 /* Internal functions */
-int _DynRealloc(), _DynResize();
+int _DynRealloc P((DynObjectP obj, int req)), 
+  _DynResize P((DynObjectP obj, int req));
+
+#undef P
 
 #endif /* _DynP_h */
 /* DON'T ADD STUFF AFTER THIS #endif */
index 42c0ff73c5029d2f042fe2284ccc3189644c44c9..237986d5d319676fe5a0e89424940e3831f5cf02 100644 (file)
@@ -40,7 +40,8 @@ DynObjectP DynCreate(el_size, inc)
      obj->el_size = el_size;
      obj->num_el = obj->size = 0;
      obj->debug = obj->paranoid = 0;
-     obj->inc = (!! inc) ? inc : default_increment;
+     obj->inc = (inc) ? inc : default_increment;
+     obj->initzero = 0;
 
      return obj;
 }
@@ -61,7 +62,7 @@ DynObjectP DynCopy(obj)
      obj1->debug = obj->debug;
      obj1->paranoid = obj->paranoid;
      obj1->initzero = obj->initzero;
-     obj1->array = (char *) malloc(obj1->el_size * obj1->size);
+     obj1->array = (char *) malloc((size_t) (obj1->el_size * obj1->size));
      if (obj1->array == NULL) {
          free(obj1);
          return NULL;
@@ -79,7 +80,7 @@ int DynDestroy(obj)
          if (obj->debug)
               fprintf(stderr, "dyn: destroy: zeroing %d bytes from %p.\n",
                       obj->el_size * obj->size, obj->array);
-         memset(obj->array, 0, obj->el_size * obj->size);
+         memset(obj->array, 0, (size_t) (obj->el_size * obj->size));
      }
      free(obj->array);
      free(obj);
index d8d93e54cd03d7a1925e9743378c0817d525737e..a857ef57c6a15000ffd4cf21542dff42ddafbc00 100644 (file)
@@ -40,7 +40,7 @@ int DynDelete(obj, idx)
          if (obj->paranoid) {
               if (obj->debug)
                    fprintf(stderr, "dyn: delete: last element, zeroing.\n");
-              memset(obj->array + idx*obj->el_size, 0, obj->el_size);
+              memset(obj->array + idx*obj->el_size, 0, (size_t) obj->el_size);
          }
          else {
               if (obj->debug)
@@ -57,7 +57,7 @@ int DynDelete(obj, idx)
 #ifdef HAVE_MEMMOVE
          memmove(obj->array + idx*obj->el_size,
                  obj->array + (idx+1)*obj->el_size,
-                 obj->el_size*(obj->num_el - idx));
+                 (size_t) obj->el_size*(obj->num_el - idx));
 #else
          bcopy(obj->array + (idx+1)*obj->el_size,
                  obj->array + idx*obj->el_size,
@@ -70,7 +70,7 @@ int DynDelete(obj, idx)
                            obj->el_size, obj->array,
                            obj->el_size*(obj->num_el - 1));
               memset(obj->array + obj->el_size*(obj->num_el - 1), 0,
-                    obj->el_size);
+                    (size_t) obj->el_size);
          }
      }
      
index 799ea5d17204003312e6c6d8f5116b8c237bf670..f89006bb3dbc2ce2b6028d4055157bafaef18d98 100644 (file)
@@ -47,7 +47,7 @@ int DynInsert(obj, idx, els_in, num)
 #ifdef HAVE_MEMMOVE
      memmove(obj->array + obj->el_size*(idx + num),
             obj->array + obj->el_size*idx,
-            (obj->num_el-idx)*obj->el_size);
+            (size_t) ((obj->num_el-idx)*obj->el_size));
 #else
      bcopy(obj->array + obj->el_size*idx,
           obj->array + obj->el_size*(idx + num), 
@@ -59,7 +59,7 @@ int DynInsert(obj, idx, els_in, num)
                  obj->el_size*num, els, obj->array, obj->el_size*idx);
 
 #ifdef HAVE_MEMMOVE
-     memmove(obj->array + obj->el_size*idx, els, obj->el_size*num);
+     memmove(obj->array + obj->el_size*idx, els, (size_t) (obj->el_size*num));
 #else
      bcopy(els, obj->array + obj->el_size*idx, obj->el_size*num);
 #endif     
index af44374a60c85e7cdc1d0aad1eb729a55def4722..239cea0b3ffc4bbdb69cc1ce57d19772d6163f8f 100644 (file)
@@ -87,7 +87,7 @@ int DynPut(obj, el_in, idx)
          return ret;
 
 #ifdef HAVE_MEMMOVE
-     memmove(obj->array + idx*obj->el_size, el, obj->el_size);
+     memmove(obj->array + idx*obj->el_size, el, (size_t) obj->el_size);
 #else
      bcopy(el, obj->array + idx*obj->el_size, obj->el_size);
 #endif     
index 0294d0198dd312693909832bb34a5389558f8ade..229dde08fa5cd0ffaee7002191a0418fcf7643d9 100644 (file)
@@ -67,7 +67,7 @@ int _DynRealloc(obj, num_incs)
                  new_size_in_bytes - obj->el_size*obj->size,
                  num_incs);
      
-     temp = (DynPtr) realloc(obj->array, new_size_in_bytes);
+     temp = (DynPtr) realloc(obj->array, (size_t) new_size_in_bytes);
      if (temp == NULL) {
          if (obj->debug)
               fprintf(stderr, "dyn: alloc: Out of memory.\n");
index a7a741450a9d76b2950accfdbff6d5392e8a9717..9ac1d01576520370fae8fe4d312600dfa3235302 100644 (file)
  */
 
 #include <stdio.h>
+#include <string.h>
 #ifdef USE_DBMALLOC
 #include <sys/stdtypes.h>
 #include <malloc.h>
 #endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
 
 #include "dyn.h"
 
@@ -24,6 +28,7 @@ static char insert1[] = "This will be put at the beginning.";
 static char insert2[] = "(parenthetical remark!) ";
 static char insert3[] = "  This follows the random string.";
 
+int
 main(argc, argv)
    int argc;
    char        **argv;