sunos doesn't have memmove? I guess sunos won't have libressl.

Index: stack.c
===================================================================
RCS file: /cvs/src/lib/libssl/src/crypto/stack/stack.c,v
retrieving revision 1.11
diff -u -p -r1.11 stack.c
--- stack.c     17 May 2014 17:35:04 -0000      1.11
+++ stack.c     17 May 2014 17:39:28 -0000
@@ -163,19 +163,9 @@ sk_insert(_STACK *st, void *data, int lo
        if ((loc >= (int)st->num) || (loc < 0))
                st->data[st->num] = data;
        else {
-               int i;
-               char **f, **t;
-
-               f = st->data;
-               t = &(st->data[1]);
-               for (i = st->num; i >= loc; i--)
-                       t[i] = f[i];
-
-#ifdef undef /* no memmove on sunos :-( */
                memmove(&(st->data[loc + 1]),
                    &(st->data[loc]),
                    sizeof(char *)*(st->num - loc));
-#endif
                st->data[loc] = data;
        }
        st->num++;
@@ -198,21 +188,14 @@ void *
 sk_delete(_STACK *st, int loc)
 {
        char *ret;
-       int i, j;
 
        if (!st || (loc < 0) || (loc >= st->num))
                return NULL;
 
        ret = st->data[loc];
        if (loc != st->num - 1) {
-               j = st->num - 1;
-               for (i = loc; i < j; i++)
-                       st->data[i] = st->data[i + 1];
-               /* In theory memcpy is not safe for this
-                * memcpy( &(st->data[loc]),
-                *      &(st->data[loc+1]),
-                *      sizeof(char *)*(st->num-loc-1));
-                */
+               memmove(&(st->data[loc]), &(st->data[loc+1]),
+                   sizeof(char *)*(st->num-loc-1));
        }
        st->num--;
        return (ret);

Reply via email to