mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 00:59:45 -05:00
If HAVE_EBCDIC, translate dbname from ASCII to EBCDIC in ldbm_open.
This commit is contained in:
parent
b934eeb948
commit
f2af8dfdd7
1 changed files with 17 additions and 0 deletions
|
|
@ -304,6 +304,9 @@ LDBM
|
|||
ldbm_open( DB_ENV *env, char *name, int rw, int mode, int dbcachesize )
|
||||
{
|
||||
LDBM ret = NULL;
|
||||
#ifdef HAVE_EBCDIC
|
||||
char n2[2048];
|
||||
#endif
|
||||
|
||||
#if DB_VERSION_MAJOR >= 3
|
||||
int err;
|
||||
|
|
@ -326,6 +329,12 @@ ldbm_open( DB_ENV *env, char *name, int rw, int mode, int dbcachesize )
|
|||
|
||||
/* likely should use ber_mem* routines */
|
||||
|
||||
#ifdef HAVE_EBCDIC
|
||||
strncpy(n2, name, sizeof(n2)-1);
|
||||
n2[sizeof(n2)-1] = '\0';
|
||||
__atoe(n2);
|
||||
name = n2;
|
||||
#endif
|
||||
err = ret->open( ret, name, NULL, DB_TYPE, rw, mode);
|
||||
|
||||
if ( err != 0 ) {
|
||||
|
|
@ -604,6 +613,14 @@ ldbm_open( DB_ENV *env, char *name, int rw, int mode, int dbcachesize )
|
|||
#ifdef HAVE_ST_BLKSIZE
|
||||
struct stat st;
|
||||
#endif
|
||||
#ifdef HAVE_EBCDIC
|
||||
char n2[2048];
|
||||
|
||||
strncpy(n2, name, sizeof(n2)-1);
|
||||
n2[sizeof(n2)-1] = '\0';
|
||||
__atoe(n2);
|
||||
name = n2;
|
||||
#endif
|
||||
|
||||
LDBM_WLOCK;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue