aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/dynload.c
diff options
context:
space:
mode:
Diffstat (limited to 'cipher/dynload.c')
-rw-r--r--cipher/dynload.c45
1 files changed, 42 insertions, 3 deletions
diff --git a/cipher/dynload.c b/cipher/dynload.c
index 955367f1d..09cd1366a 100644
--- a/cipher/dynload.c
+++ b/cipher/dynload.c
@@ -178,10 +178,10 @@ register_cipher_extension( const char *mainpgm, const char *fname )
if( !mainpgm_path && mainpgm && *mainpgm )
mainpgm_path = m_strdup(mainpgm);
#endif
- if( *fname != '/' ) { /* do tilde expansion etc */
+ if( *fname != DIRSEP_C ) { /* do tilde expansion etc */
char *tmp;
- if( strchr(fname, '/') )
+ if( strchr(fname, DIRSEP_C) )
tmp = make_filename(fname, NULL);
else
tmp = make_filename(GNUPG_LIBDIR, fname, NULL);
@@ -392,7 +392,13 @@ load_extension( EXTLIST el )
return -1;
}
-
+#ifdef __riscos__
+typedef
+const char *(*DIGESTS_CAST)(int, size_t*,byte**, int*, int*,
+ void (**)(void*),
+ void (**)(void*,byte*,size_t),
+ void (**)(void*),byte *(**)(void*));
+#endif /* __riscos__ */
int
enum_gnupgext_digests( void **enum_context,
@@ -435,7 +441,11 @@ enum_gnupgext_digests( void **enum_context,
if( vers != 1 || class != 10 )
continue;
inner_loop:
+#ifndef __riscos__
*r_get_info = ctx->sym;
+#else /* __riscos__ */
+ *r_get_info = (DIGESTS_CAST) ctx->sym;
+#endif /* __riscos__ */
while( (sym = (*r->enumfunc)(11, &ctx->seq2, &class, &vers)) ) {
if( vers != 1 || class != 11 )
continue;
@@ -451,6 +461,14 @@ enum_gnupgext_digests( void **enum_context,
return 0;
}
+#ifdef __riscos__
+typedef
+const char *(*CIPHERS_CAST)(int, size_t*, size_t*, size_t*,
+ int (**)( void *, byte *, unsigned),
+ void (**)( void *, byte *, byte *),
+ void (**)( void *, byte *, byte *));
+#endif /* __riscos__ */
+
const char *
enum_gnupgext_ciphers( void **enum_context, int *algo,
size_t *keylen, size_t *blocksize, size_t *contextsize,
@@ -495,7 +513,11 @@ enum_gnupgext_ciphers( void **enum_context, int *algo,
if( vers != 1 || class != 20 )
continue;
inner_loop:
+#ifndef __riscos__
finfo = ctx->sym;
+#else /* __riscos__ */
+ finfo = (CIPHERS_CAST) ctx->sym;
+#endif /* __riscos__ */
while( (sym = (*r->enumfunc)(21, &ctx->seq2, &class, &vers)) ) {
const char *algname;
if( vers != 1 || class != 21 )
@@ -516,6 +538,19 @@ enum_gnupgext_ciphers( void **enum_context, int *algo,
return NULL;
}
+#ifdef __riscos__
+typedef
+const char *(*PUBKEYS_CAST)(int, int *, int *, int *, int *, int *,
+ int (**)(int, unsigned, MPI *, MPI **),
+ int (**)(int, MPI *),
+ int (**)(int, MPI *, MPI , MPI *),
+ int (**)(int, MPI *, MPI *, MPI *),
+ int (**)(int, MPI *, MPI , MPI *),
+ int (**)(int, MPI , MPI *, MPI *,
+ int (*)(void*,MPI), void *),
+ unsigned (**)( int , MPI *));
+#endif /* __riscos__ */
+
const char *
enum_gnupgext_pubkeys( void **enum_context, int *algo,
int *npkey, int *nskey, int *nenc, int *nsig, int *use,
@@ -568,7 +603,11 @@ enum_gnupgext_pubkeys( void **enum_context, int *algo,
if( vers != 1 || class != 30 )
continue;
inner_loop:
+#ifndef __riscos__
finfo = ctx->sym;
+#else /* __riscos__ */
+ finfo = (PUBKEYS_CAST) ctx->sym;
+#endif /* __riscos__ */
while( (sym = (*r->enumfunc)(31, &ctx->seq2, &class, &vers)) ) {
const char *algname;
if( vers != 1 || class != 31 )