Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
a74dae9c
Commit
a74dae9c
authored
Jun 13, 2013
by
Thomas Jahns
🤸
Browse files
Extend open backend to create buffers only optionally.
parent
44d5ade2
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/cdi_int.h
View file @
a74dae9c
...
...
@@ -355,7 +355,8 @@ streamUnpack(char * unpackBuffer, int unpackBufferSize,
int
cdiStreamOpenDefaultDelegate
(
const
char
*
filename
,
const
char
*
filemode
,
int
filetype
,
stream_t
*
streamptr
);
int
filetype
,
stream_t
*
streamptr
,
int
recordBufIsToBeCreated
);
void
cdiStreamDefVlist_
(
int
streamID
,
int
vlistID
);
...
...
src/pio.c
View file @
a74dae9c
...
...
@@ -143,7 +143,8 @@ int pioFileOpen(const char *filename, const char *mode)
int
cdiPioStreamOpen
(
const
char
*
filename
,
const
char
*
filemode
,
int
filetype
,
stream_t
*
streamptr
)
int
filetype
,
stream_t
*
streamptr
,
int
recordBufIsToBeCreated
)
{
if
(
tolower
(
*
filemode
)
==
'w'
)
{
...
...
src/pio.h
View file @
a74dae9c
...
...
@@ -18,7 +18,8 @@ int pioFileOpen(const char *filename, const char *mode);
int
pioFileClose
(
int
);
size_t
pioFileWrite
(
int
,
int
,
const
void
*
,
size_t
);
int
cdiPioStreamOpen
(
const
char
*
filename
,
const
char
*
filemode
,
int
filetype
,
stream_t
*
streamptr
);
int
filetype
,
stream_t
*
streamptr
,
int
recordBufIsToBeCreated
);
void
cdiPioStreamDefVlist_
(
int
streamID
,
int
vlistID
);
void
cdiPioStreamWriteVar_
(
int
streamID
,
int
varID
,
int
memtype
,
const
void
*
data
,
int
nmiss
);
...
...
src/stream.c
View file @
a74dae9c
...
...
@@ -658,7 +658,8 @@ extern int cdiPioSerialOpenFileMap(int streamID);
#endif
int
cdiStreamOpenDefaultDelegate
(
const
char
*
filename
,
const
char
*
filemode
,
int
filetype
,
stream_t
*
streamptr
)
int
filetype
,
stream_t
*
streamptr
,
int
recordBufIsToBeCreated
)
{
int
fileID
;
switch
(
filetype
)
...
...
@@ -669,8 +670,11 @@ int cdiStreamOpenDefaultDelegate(const char *filename, const char *filemode,
{
fileID
=
gribOpen
(
filename
,
filemode
);
if
(
fileID
<
0
)
fileID
=
CDI_ESYSTEM
;
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
if
(
recordBufIsToBeCreated
)
{
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
}
break
;
}
#endif
...
...
@@ -679,9 +683,12 @@ int cdiStreamOpenDefaultDelegate(const char *filename, const char *filemode,
{
fileID
=
fileOpen
(
filename
,
filemode
);
if
(
fileID
<
0
)
fileID
=
CDI_ESYSTEM
;
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
srvp
=
srvNew
();
if
(
recordBufIsToBeCreated
)
{
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
srvp
=
srvNew
();
}
break
;
}
#endif
...
...
@@ -690,9 +697,12 @@ int cdiStreamOpenDefaultDelegate(const char *filename, const char *filemode,
{
fileID
=
fileOpen
(
filename
,
filemode
);
if
(
fileID
<
0
)
fileID
=
CDI_ESYSTEM
;
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
extp
=
extNew
();
if
(
recordBufIsToBeCreated
)
{
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
extp
=
extNew
();
}
break
;
}
#endif
...
...
@@ -701,9 +711,12 @@ int cdiStreamOpenDefaultDelegate(const char *filename, const char *filemode,
{
fileID
=
fileOpen
(
filename
,
filemode
);
if
(
fileID
<
0
)
fileID
=
CDI_ESYSTEM
;
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
iegp
=
iegNew
();
if
(
recordBufIsToBeCreated
)
{
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
buffer
=
NULL
;
streamptr
->
record
->
iegp
=
iegNew
();
}
break
;
}
#endif
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment