summaryrefslogtreecommitdiffstats
path: root/crypto/dso/dso_lib.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-07-15 15:35:40 +0000
committerRichard Levitte <levitte@openssl.org>2002-07-15 15:35:40 +0000
commitcbecb3ac3763f1179dc220a69d28e92f58e9443e (patch)
tree58206855d0392cb81f393bf8de190c413ba161ac /crypto/dso/dso_lib.c
parent5dbd3efce784cb5621de8402430eda23d1762568 (diff)
There's an ongoing project to bring some kind of path selection
mechanism to the ENGINE framework. This means there there are going to be new functionality for the DSO part, and ultimately some way of merging two file specifications together. This commit places the merging code into the repository. It's currently not used anywhere, and hasn't been tested at all. It may be full of errors, including syntactical ones. Those will be fixed as promptly as possible.
Diffstat (limited to 'crypto/dso/dso_lib.c')
-rw-r--r--crypto/dso/dso_lib.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/crypto/dso/dso_lib.c b/crypto/dso/dso_lib.c
index 556069b9b8..e7ddfd5ecf 100644
--- a/crypto/dso/dso_lib.c
+++ b/crypto/dso/dso_lib.c
@@ -1,4 +1,4 @@
-/* dso_lib.c */
+/* dso_lib.c -*- mode:C; c-file-style: "eay" -*- */
/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL
* project 2000.
*/
@@ -390,6 +390,33 @@ int DSO_set_filename(DSO *dso, const char *filename)
return(1);
}
+char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2)
+ {
+ char *result = NULL;
+
+ if(dso == NULL || dir == NULL)
+ {
+ DSOerr(DSO_F_DSO_MERGE,ERR_R_PASSED_NULL_PARAMETER);
+ return(NULL);
+ }
+ if(filespec1 == NULL)
+ filespec1 = dso->filename;
+ if(filespec1 == NULL)
+ {
+ DSOerr(DSO_F_DSO_MERGE,DSO_R_NO_FILENAME);
+ return(NULL);
+ }
+ if((dso->flags & DSO_FLAG_NO_NAME_TRANSLATION) == 0)
+ {
+ if(dso->merger != NULL)
+ result = dso->merger(dso, filespec1, filespec2);
+ else if(dso->meth->dso_merger != NULL)
+ result = dso->meth->dso_merger(dso,
+ filespec1, filespec2);
+ }
+ return(result);
+ }
+
char *DSO_convert_filename(DSO *dso, const char *filename)
{
char *result = NULL;