39 char brtstr[50] =
"BUFRLIB: ARALLOCC FAILED ALLOCATING ";
53 if ( (
pb = malloc( (
nfiles+1) *
sizeof(FILE *) ) ) == NULL ) {
54 strcat( brtstr,
"PB" );
55 bort( brtstr, ( f77int ) strlen( brtstr ) );
58 if ( (
lstpos = malloc( (
nfiles+1) *
sizeof(fpos_t) ) ) == NULL ) {
59 strcat( brtstr,
"LSTPOS" );
60 bort( brtstr, ( f77int ) strlen( brtstr ) );
71 if ( ( MSTABS_BASE(
ibfxyn) = malloc(
mxmtbb *
sizeof(f77int) ) ) == NULL ) {
72 strcat( brtstr,
"IBFXYN" );
73 bort( brtstr, ( f77int ) strlen( brtstr ) );
76 if ( ( MSTABS_BASE(
cbscl) = malloc(
mxmtbb * 4 *
sizeof(
char) ) ) == NULL ) {
77 strcat( brtstr,
"CBSCL" );
78 bort( brtstr, ( f77int ) strlen( brtstr ) );
81 if ( ( MSTABS_BASE(
cbsref) = malloc(
mxmtbb * 12 *
sizeof(
char) ) ) == NULL ) {
82 strcat( brtstr,
"CBSREF" );
83 bort( brtstr, ( f77int ) strlen( brtstr ) );
86 if ( ( MSTABS_BASE(
cbbw) = malloc(
mxmtbb * 4 *
sizeof(
char) ) ) == NULL ) {
87 strcat( brtstr,
"CBBW" );
88 bort( brtstr, ( f77int ) strlen( brtstr ) );
91 if ( ( MSTABS_BASE(
cbunit) = malloc(
mxmtbb * 24 *
sizeof(
char) ) ) == NULL ) {
92 strcat( brtstr,
"CBUNIT" );
93 bort( brtstr, ( f77int ) strlen( brtstr ) );
96 if ( ( MSTABS_BASE(
cbmnem) = malloc(
mxmtbb * 8 *
sizeof(
char) ) ) == NULL ) {
97 strcat( brtstr,
"CBMNEM" );
98 bort( brtstr, ( f77int ) strlen( brtstr ) );
101 if ( ( MSTABS_BASE(
cbelem) = malloc(
mxmtbb * 120 *
sizeof(
char) ) ) == NULL ) {
102 strcat( brtstr,
"CBELEM" );
103 bort( brtstr, ( f77int ) strlen( brtstr ) );
106 if ( ( MSTABS_BASE(
idfxyn) = malloc(
mxmtbd *
sizeof(f77int) ) ) == NULL ) {
107 strcat( brtstr,
"IDFXYN" );
108 bort( brtstr, ( f77int ) strlen( brtstr ) );
111 if ( ( MSTABS_BASE(
cdseq) = malloc(
mxmtbd * 120 *
sizeof(
char) ) ) == NULL ) {
112 strcat( brtstr,
"CDSEQ" );
113 bort( brtstr, ( f77int ) strlen( brtstr ) );
116 if ( ( MSTABS_BASE(
cdmnem) = malloc(
mxmtbd * 8 *
sizeof(
char) ) ) == NULL ) {
117 strcat( brtstr,
"CDMNEM" );
118 bort( brtstr, ( f77int ) strlen( brtstr ) );
121 if ( ( MSTABS_BASE(
ndelem) = malloc(
mxmtbd *
sizeof(f77int) ) ) == NULL ) {
122 strcat( brtstr,
"NDELEM" );
123 bort( brtstr, ( f77int ) strlen( brtstr ) );
126 if ( ( MSTABS_BASE(
idefxy) = malloc(
mxmtbd *
maxcd *
sizeof(f77int) ) ) == NULL ) {
127 strcat( brtstr,
"IDEFXY" );
128 bort( brtstr, ( f77int ) strlen( brtstr ) );
void arallocc(void)
This subroutine is called internally during the first call to subroutine openbf() from an application...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
Define signatures to enable a number of BUFRLIB subprograms to be called directly from C application ...
Define signatures and declare variables for reading or writing BUFR messages via a C language interfa...
fpos_t * lstpos
Byte positions of last successful reads from files corresponding to pb, for files that were opened fo...
integer function igetprm(CPRMNM)
This function returns the current value of a parameter used for allocating one or more internal array...
Define signatures and declare variables for internal storage of master Table B and Table D entries.
integer, dimension(:), allocatable ndelem
Numbers of child descriptors corresponding to idfxyn.
integer, dimension(:), allocatable idfxyn
Bit-wise representations of FXY numbers for master Table D.
character, dimension(:,:), allocatable cdseq
Sequence names corresponding to idfxyn.
integer, dimension(:), allocatable idefxy
Bit-wise representations of child descriptors corresponding to idfxyn.
character, dimension(:,:), allocatable cbscl
Scale factors corresponding to ibfxyn.
character, dimension(:,:), allocatable cbmnem
Mnemonics corresponding to ibfxyn.
character, dimension(:,:), allocatable cbsref
Reference values corresponding to ibfxyn.
character, dimension(:,:), allocatable cbelem
Element names corresponding to ibfxyn.
character, dimension(:,:), allocatable cbunit
Units corresponding to ibfxyn.
character, dimension(:,:), allocatable cdmnem
Mnemonics corresponding to idfxyn.
integer, dimension(:), allocatable ibfxyn
Bit-wise representations of FXY numbers for master Table B.
character, dimension(:,:), allocatable cbbw
Bit widths corresponding to ibfxyn.
integer, public maxcd
Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
integer mxmtbb
Maximum number of entries in a master BUFR Table B.
integer mxmtbd
Maximum number of entries in a master BUFR Table D.
integer, public nfiles
Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...