tests/gpgscm: Fix use of pointer.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 15 Sep 2016 00:17:59 +0000 (09:17 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 15 Sep 2016 00:17:59 +0000 (09:17 +0900)
* tests/gpgscm/scheme-private.h (struct scheme): Use (void *) for
alloc_seg.
* tests/gpgscm/scheme.c (alloc_cellseg): Use (void *) for cp.  Use
(void *) for coercion of address calculation.

--

In old C language, (char *) means an address.  In modern C, it's
specifically an address with alignment=1.  It's good to use (void *) for
an address, because newer compiler emits warnings.  Note: in this
particular case, it is just a warning and the code is safe against
invalid alignment, though.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
tests/gpgscm/scheme-private.h
tests/gpgscm/scheme.c

index 9eafe76..727e0c0 100644 (file)
@@ -78,7 +78,7 @@ int tracing;
 #ifndef CELL_NSEGMENT
 #define CELL_NSEGMENT   10    /* # of segments for cells */
 #endif
-char *alloc_seg[CELL_NSEGMENT];
+void *alloc_seg[CELL_NSEGMENT];
 pointer cell_seg[CELL_NSEGMENT];
 int     last_cell_seg;
 
index 1fc7643..8833950 100644 (file)
@@ -602,7 +602,7 @@ static int alloc_cellseg(scheme *sc, int n) {
      pointer newp;
      pointer last;
      pointer p;
-     char *cp;
+     void *cp;
      long i;
      int k;
      int adj=ADJ;
@@ -614,14 +614,14 @@ static int alloc_cellseg(scheme *sc, int n) {
      for (k = 0; k < n; k++) {
          if (sc->last_cell_seg >= CELL_NSEGMENT - 1)
               return k;
-         cp = (char*) sc->malloc(CELL_SEGSIZE * sizeof(struct cell)+adj);
+         cp = sc->malloc(CELL_SEGSIZE * sizeof(struct cell)+adj);
          if (cp == 0)
               return k;
          i = ++sc->last_cell_seg ;
          sc->alloc_seg[i] = cp;
          /* adjust in TYPE_BITS-bit boundary */
          if(((unsigned long)cp)%adj!=0) {
-           cp=(char*)(adj*((unsigned long)cp/adj+1));
+           cp=(void *)(adj*((unsigned long)cp/adj+1));
          }
          /* insert new segment in address order */
          newp=(pointer)cp;