apps/speed.c: add -aead flag.
[openssl.git] / apps / apps.c
index 5a32dc0a02ef0a96199273fb30309c1e9952e3c2..d5a6aea206ed8c094cf8d1324b33e0a615d49a6f 100644 (file)
 #endif
 #include <ctype.h>
 #include <errno.h>
-#ifdef __VMS
-# include <descrip.h>
-# include <iledef.h>
-# include <fscndef.h>
-# include <starlet.h>
-#endif
 #include <openssl/err.h>
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
@@ -1597,6 +1591,9 @@ CA_DB *load_index(const char *dbfile, DB_ATTR *db_attr)
     return retdb;
 }
 
+/*
+ * Returns > 0 on success, <= 0 on error
+ */
 int index_index(CA_DB *db)
 {
     if (!TXT_DB_create_index(db->db, DB_serial, NULL,
@@ -2367,116 +2364,6 @@ int app_isdir(const char *name)
 }
 #endif
 
-/* app_dirname section */
-
-/*
- * This exactly follows what POSIX's
- * dirname does, but is implemented
- * in a more platform independent way.
- *
- * path        dirname
- * /usr/lib    /usr
- * /usr/       /
- * usr         .
- * /           /
- * .           .
- * ..          .
- * ""          .
- *
- * Note: this function also keeps the
- * possibility of modifying the 'path'
- * string same as POSIX dirname.
- */
-static char *posix_dirname(char *path)
-{
-    size_t l;
-    char *ret = ".";
-
-    l = strlen(path);
-    if (l == 0)
-        goto out;
-    if (strcmp(path, ".") == 0)
-        goto out;
-    if (strcmp(path, "..") == 0)
-        goto out;
-    if (strcmp(path, "/") == 0) {
-        ret = "/";
-        goto out;
-    }
-    if (path[l - 1] == '/') {
-        /* /usr/ */
-        path[l - 1] = '\0';
-    }
-    if ((ret = strrchr(path, '/')) == NULL) {
-        /* usr */
-        ret = ".";
-    } else if (ret == path) {
-        /* /usr */
-        *++ret = '\0';
-        ret = path;
-    } else {
-        /* /usr/lib */
-        *ret = '\0';
-        ret = path;
-    }
- out:
-    return ret;
-}
-
-/*
- * TODO: implement app_dirname for Windows.
- */
-#if !defined(_WIN32)
-char *app_dirname(char *path)
-{
-    return posix_dirname(path);
-}
-#elif defined(__VMS)
-/*
- * sys$filescan fills the given item list with pointers into the original
- * path string, so all we need to do is to find the file name and simply
- * put a NUL byte wherever the FSCN$_NAME pointer points.  If there is no
- * file name part and the path string isn't the empty string, we know for
- * a fact that the whole string is a directory spec and return it as is.
- * Otherwise or if that pointer is the starting address of the original
- * path string, we know to return "sys$disk:[]", which corresponds to the
- * Unixly ".".
- *
- * If sys$filescan returns an error status, we know that this is not
- * parsable as a VMS file spec, and then use the fallback, in case we
- * have a Unix type path.
- */
-char *app_dirname(char *path)
-{
-    char *ret = "sys$disk:[]";
-    struct dsc$descriptor_s dsc_path = { 0 };
-    ile2 itemlist[] = {
-        {0, FSCN$_NAME, 0},
-        {0, 0, 0}
-    };
-    int fields;
-    int status;
-
-    dsc_path.dsc$a_pointer = path;
-    dsc_path.dsc$w_length = strlen(path);
-    status = sys$filescan(&dsc_path, itemlist, &fields, 0, 0);
-
-    if (!(status & 1))
-        return posix_dirname(path);
-
-    if ((fields & (1 << FSCN$_NAME)) == 0) {
-        if (dsc_path.dsc$w_length != 0)
-            ret = path;
-    } else if (itemlist[0].ile2$ps_bufaddr != path) {
-        if (itemlist[0].ile2$ps_bufaddr != path) {
-            *itemlist[0].ile2$ps_bufaddr = '\0';
-            ret = path;
-        }
-    }
-    return ret;
-}
-#endif
-
 /* raw_read|write section */
 #if defined(__VMS)
 # include "vms_term_sock.h"
@@ -2599,7 +2486,7 @@ BIO *dup_bio_err(int format)
     return b;
 }
 
-void destroy_prefix_method()
+void destroy_prefix_method(void)
 {
     BIO_meth_free(prefix_method);
     prefix_method = NULL;