Skip to content

Commit e3ff67c

Browse files
committed
store access mode and file type in handle struct
1 parent 49f43be commit e3ff67c

3 files changed

Lines changed: 9 additions & 6 deletions

File tree

include/napi_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ extern "C" {
7979
NXstatus ( *nxnativeisexternallink)(NXhandle handle, CONSTCHAR* name, char* url, int urllen);
8080
int stripFlag;
8181
int checkNameSyntax;
82-
int access_mode;
82+
NXaccess access_mode;
8383
} NexusFunction, *pNexusFunction;
8484
/*---------------------*/
8585
extern long nx_cacheSize;

src/napi.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,7 @@ static NXstatus NXinternalopenImpl(CONSTCHAR * userfilename, NXaccess am,
579579
return retstat;
580580
}
581581
fHandle->pNexusData = hdf4_handle;
582+
fHandle->access_mode = backend_type || (NXACC_READ && am);
582583
NX4assignFunctions(fHandle);
583584
pushFileStack(fileStack, fHandle, filename);
584585
#else
@@ -599,6 +600,7 @@ static NXstatus NXinternalopenImpl(CONSTCHAR * userfilename, NXaccess am,
599600
return retstat;
600601
}
601602
fHandle->pNexusData = hdf5_handle;
603+
fHandle->access_mode = backend_type || (NXACC_READ && am);
602604
NX5assignFunctions(fHandle);
603605
pushFileStack(fileStack, fHandle, filename);
604606
#else
@@ -621,6 +623,7 @@ static NXstatus NXinternalopenImpl(CONSTCHAR * userfilename, NXaccess am,
621623
return retstat;
622624
}
623625
fHandle->pNexusData = xmlHandle;
626+
fHandle->access_mode = backend_type || (NXACC_READ && am);
624627
NXXassignFunctions(fHandle);
625628
pushFileStack(fileStack, fHandle, filename);
626629
#else

src/napi4.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1983,7 +1983,7 @@ NXstatus NX4getattrainfo(NXhandle handle, NXname pName, int *rank, int dim[], i
19831983
void NX4assignFunctions(pNexusFunction fHandle)
19841984
{
19851985
fHandle->nxclose=NX4close;
1986-
fHandle->nxreopen=NULL;
1986+
fHandle->nxreopen=NULL;
19871987
fHandle->nxflush=NX4flush;
19881988
fHandle->nxmakegroup=NX4makegroup;
19891989
fHandle->nxopengroup=NX4opengroup;
@@ -2013,10 +2013,10 @@ void NX4assignFunctions(pNexusFunction fHandle)
20132013
fHandle->nxinitattrdir=NX4initattrdir;
20142014
fHandle->nxprintlink=NX4printlink;
20152015
fHandle->nxnativeexternallink=NULL;
2016-
fHandle->nxputattra = NX4putattra;
2017-
fHandle->nxgetnextattra = NX4getnextattra;
2018-
fHandle->nxgetattra = NX4getattra;
2019-
fHandle->nxgetattrainfo = NX4getattrainfo;
2016+
fHandle->nxputattra = NX4putattra;
2017+
fHandle->nxgetnextattra = NX4getnextattra;
2018+
fHandle->nxgetattra = NX4getattra;
2019+
fHandle->nxgetattrainfo = NX4getattrainfo;
20202020
}
20212021

20222022
#endif /*HDF4*/

0 commit comments

Comments
 (0)