Support assembler for Mingw32.
[oweals/openssl.git] / crypto / x509 / by_dir.c
index 6bcd3a3059a3e4729c388945f35b16990ed1da24..14d12c56bd709e47198ecb8b73547624c7f08a3a 100644 (file)
 #include <stdio.h>
 #include <time.h>
 #include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
 
 #include "cryptlib.h"
+
+#ifndef NO_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef MAC_OS_pre_X
+# include <stat.h>
+#else
+# include <sys/stat.h>
+#endif
+
 #include <openssl/lhash.h>
 #include <openssl/x509.h>
 
@@ -75,7 +83,8 @@ typedef struct lookup_dir_st
        int num_dirs_alloced;
        } BY_DIR;
 
-static int dir_ctrl(X509_LOOKUP *ctx,int cmd,char *argp,long argl,char **ret);
+static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
+       char **ret);
 static int new_dir(X509_LOOKUP *lu);
 static void free_dir(X509_LOOKUP *lu);
 static int add_cert_dir(BY_DIR *ctx,const char *dir,int type);
@@ -100,7 +109,7 @@ X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void)
        return(&x509_dir_lookup);
        }
 
-static int dir_ctrl(X509_LOOKUP *ctx, int cmd, char *argp, long argl,
+static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
             char **retp)
        {
        int ret=0;
@@ -209,9 +218,9 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type)
                                memcpy(ip,ctx->dirs_type,(ctx->num_dirs_alloced-10)*
                                        sizeof(int));
                                if (ctx->dirs != NULL)
-                                       Free((char *)ctx->dirs);
+                                       Free(ctx->dirs);
                                if (ctx->dirs_type != NULL)
-                                       Free((char *)ctx->dirs_type);
+                                       Free(ctx->dirs_type);
                                ctx->dirs=pp;
                                ctx->dirs_type=ip;
                                }
@@ -317,8 +326,7 @@ static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name,
                /* we have added it to the cache so now pull
                 * it out again */
                CRYPTO_r_lock(CRYPTO_LOCK_X509_STORE);
-               tmp=(X509_OBJECT *)lh_retrieve(xl->store_ctx->certs,
-                       (char *)&stmp);
+               tmp=(X509_OBJECT *)lh_retrieve(xl->store_ctx->certs,&stmp);
                CRYPTO_r_unlock(CRYPTO_LOCK_X509_STORE);
 
                if (tmp != NULL)