Skip to content

Commit 2c6d48a

Browse files
authored
Merge pull request i-RIC#73 from kskinoue0612/issue-64
Closes i-RIC#64
2 parents 397707b + 86f64c2 commit 2c6d48a

15 files changed

+286
-50
lines changed

iric_ftoc.c

+86-16
Original file line numberDiff line numberDiff line change
@@ -681,23 +681,23 @@ void IRICLIBDLL FMNAME(cg_iric_read_grid_functional_real_cell_mul_f, CG_IRIC_REA
681681
}
682682

683683
void IRICLIBDLL FMNAME(cg_iric_writegridcoord1d_mul_f, CG_IRIC_WRITEGRIDCOORD1D_MUL_F) (int *fid, int *isize, double *x, int *ier) {
684-
int c_isize;
684+
cgsize_t c_isize;
685685
c_isize = (cgsize_t)(*isize);
686686
*ier = cg_iRIC_WriteGridCoord1d_Mul(*fid, c_isize, x);
687687
}
688688

689689
void IRICLIBDLL FMNAME(cg_iric_writegridcoord2d_mul_f, CG_IRIC_WRITEGRIDCOORD2D_MUL_F) (int *fid, int *isize, int *jsize, double *x, double *y, int *ier) {
690-
int c_isize;
691-
int c_jsize;
690+
cgsize_t c_isize;
691+
cgsize_t c_jsize;
692692
c_isize = (cgsize_t)(*isize);
693693
c_jsize = (cgsize_t)(*jsize);
694694
*ier = cg_iRIC_WriteGridCoord2d_Mul(*fid, c_isize, c_jsize, x, y);
695695
}
696696

697697
void IRICLIBDLL FMNAME(cg_iric_writegridcoord3d_mul_f, CG_IRIC_WRITEGRIDCOORD3D_MUL_F) (int *fid, int *isize, int *jsize, int *ksize, double *x, double *y, double *z, int *ier) {
698-
int c_isize;
699-
int c_jsize;
700-
int c_ksize;
698+
cgsize_t c_isize;
699+
cgsize_t c_jsize;
700+
cgsize_t c_ksize;
701701
c_isize = (cgsize_t)(*isize);
702702
c_jsize = (cgsize_t)(*jsize);
703703
c_ksize = (cgsize_t)(*ksize);
@@ -774,6 +774,28 @@ void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_real_mul_f, CG_IRIC_READ_S
774774
*ier = cg_iRIC_Read_Sol_BaseIterative_Real_Mul(*fid, *step, c_name, value);
775775
}
776776

777+
void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_stringlen_mul_f, CG_IRIC_READ_SOL_BASEITERATIVE_STRINGLEN_MUL_F) (int *fid, int *step, STR_PSTR(name), int *length, int *ier STR_PLEN(name)) {
778+
char c_name[CGIO_MAX_NAME_LENGTH+1];
779+
string_2_C_string(STR_PTR(name), STR_LEN(name),
780+
c_name, CGIO_MAX_NAME_LENGTH, ier);
781+
if (*ier) return;
782+
783+
*ier = cg_iRIC_Read_Sol_BaseIterative_StringLen_Mul(*fid, *step, c_name, length);
784+
}
785+
786+
void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_string_mul_f, CG_IRIC_READ_SOL_BASEITERATIVE_STRING_MUL_F) (int *fid, int *step, STR_PSTR(name), STR_PSTR(strvalue), int *ier STR_PLEN(name) STR_PLEN(strvalue)) {
787+
char c_name[CGIO_MAX_NAME_LENGTH+1];
788+
char c_strvalue[STRINGMAXLEN+1];
789+
string_2_C_string(STR_PTR(name), STR_LEN(name),
790+
c_name, CGIO_MAX_NAME_LENGTH, ier);
791+
if (*ier) return;
792+
793+
*ier = cg_iRIC_Read_Sol_BaseIterative_String_Mul(*fid, *step, c_name, c_strvalue);
794+
795+
if (*ier) return;
796+
string_2_F_string(c_strvalue, STR_PTR(strvalue), STR_LEN(strvalue), ier);
797+
}
798+
777799
void IRICLIBDLL FMNAME(cg_iric_read_sol_gridcoord2d_mul_f, CG_IRIC_READ_SOL_GRIDCOORD2D_MUL_F) (int *fid, int *step, double *x, double *y, int *ier) {
778800
*ier = cg_iRIC_Read_Sol_GridCoord2d_Mul(*fid, *step, x, y);
779801
}
@@ -880,6 +902,19 @@ void IRICLIBDLL FMNAME(cg_iric_write_sol_baseiterative_real_mul_f, CG_IRIC_WRITE
880902
*ier = cg_iRIC_Write_Sol_BaseIterative_Real_Mul(*fid, c_name, *value);
881903
}
882904

905+
void IRICLIBDLL FMNAME(cg_iric_write_sol_baseiterative_string_mul_f, CG_IRIC_WRITE_SOL_BASEITERATIVE_STRING_MUL_F) (int *fid, STR_PSTR(name), STR_PSTR(strvalue), int *ier STR_PLEN(name) STR_PLEN(strvalue)) {
906+
char c_name[CGIO_MAX_NAME_LENGTH+1];
907+
char c_strvalue[CGIO_MAX_NAME_LENGTH+1];
908+
string_2_C_string(STR_PTR(name), STR_LEN(name),
909+
c_name, CGIO_MAX_NAME_LENGTH, ier);
910+
if (*ier) return;
911+
string_2_C_string(STR_PTR(strvalue), STR_LEN(strvalue),
912+
c_strvalue, CGIO_MAX_NAME_LENGTH, ier);
913+
if (*ier) return;
914+
915+
*ier = cg_iRIC_Write_Sol_BaseIterative_String_Mul(*fid, c_name, c_strvalue);
916+
}
917+
883918
void IRICLIBDLL FMNAME(cg_iric_write_sol_gridcoord2d_mul_f, CG_IRIC_WRITE_SOL_GRIDCOORD2D_MUL_F) (int *fid, double *x, double *y, int *ier) {
884919
*ier = cg_iRIC_Write_Sol_GridCoord2d_Mul(*fid, x, y);
885920
}
@@ -1200,13 +1235,13 @@ void IRICLIBDLL FMNAME(cg_iric_write_bc_functionalwithname_string_mul_f, CG_IRIC
12001235
}
12011236

12021237
void IRICLIBDLL FMNAME(cg_iric_write_sol_particle_pos2d_mul_f, CG_IRIC_WRITE_SOL_PARTICLE_POS2D_MUL_F) (int *fid, int *count, double *x, double *y, int *ier) {
1203-
int c_count;
1238+
cgsize_t c_count;
12041239
c_count = (cgsize_t)(*count);
12051240
*ier = cg_iRIC_Write_Sol_Particle_Pos2d_Mul(*fid, c_count, x, y);
12061241
}
12071242

12081243
void IRICLIBDLL FMNAME(cg_iric_write_sol_particle_pos3d_mul_f, CG_IRIC_WRITE_SOL_PARTICLE_POS3D_MUL_F) (int *fid, int *count, double *x, double *y, double *z, int *ier) {
1209-
int c_count;
1244+
cgsize_t c_count;
12101245
c_count = (cgsize_t)(*count);
12111246
*ier = cg_iRIC_Write_Sol_Particle_Pos3d_Mul(*fid, c_count, x, y, z);
12121247
}
@@ -1980,23 +2015,23 @@ void IRICLIBDLL FMNAME(cg_iric_read_grid_functional_real_cell_f, CG_IRIC_READ_GR
19802015
}
19812016

19822017
void IRICLIBDLL FMNAME(cg_iric_writegridcoord1d_f, CG_IRIC_WRITEGRIDCOORD1D_F) (int *isize, double *x, int *ier) {
1983-
int c_isize;
2018+
cgsize_t c_isize;
19842019
c_isize = (cgsize_t)(*isize);
19852020
*ier = cg_iRIC_WriteGridCoord1d(c_isize, x);
19862021
}
19872022

19882023
void IRICLIBDLL FMNAME(cg_iric_writegridcoord2d_f, CG_IRIC_WRITEGRIDCOORD2D_F) (int *isize, int *jsize, double *x, double *y, int *ier) {
1989-
int c_isize;
1990-
int c_jsize;
2024+
cgsize_t c_isize;
2025+
cgsize_t c_jsize;
19912026
c_isize = (cgsize_t)(*isize);
19922027
c_jsize = (cgsize_t)(*jsize);
19932028
*ier = cg_iRIC_WriteGridCoord2d(c_isize, c_jsize, x, y);
19942029
}
19952030

19962031
void IRICLIBDLL FMNAME(cg_iric_writegridcoord3d_f, CG_IRIC_WRITEGRIDCOORD3D_F) (int *isize, int *jsize, int *ksize, double *x, double *y, double *z, int *ier) {
1997-
int c_isize;
1998-
int c_jsize;
1999-
int c_ksize;
2032+
cgsize_t c_isize;
2033+
cgsize_t c_jsize;
2034+
cgsize_t c_ksize;
20002035
c_isize = (cgsize_t)(*isize);
20012036
c_jsize = (cgsize_t)(*jsize);
20022037
c_ksize = (cgsize_t)(*ksize);
@@ -2073,6 +2108,28 @@ void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_real_f, CG_IRIC_READ_SOL_B
20732108
*ier = cg_iRIC_Read_Sol_BaseIterative_Real(*step, c_name, value);
20742109
}
20752110

2111+
void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_stringlen_f, CG_IRIC_READ_SOL_BASEITERATIVE_STRINGLEN_F) (int *step, STR_PSTR(name), int *length, int *ier STR_PLEN(name)) {
2112+
char c_name[CGIO_MAX_NAME_LENGTH+1];
2113+
string_2_C_string(STR_PTR(name), STR_LEN(name),
2114+
c_name, CGIO_MAX_NAME_LENGTH, ier);
2115+
if (*ier) return;
2116+
2117+
*ier = cg_iRIC_Read_Sol_BaseIterative_StringLen(*step, c_name, length);
2118+
}
2119+
2120+
void IRICLIBDLL FMNAME(cg_iric_read_sol_baseiterative_string_f, CG_IRIC_READ_SOL_BASEITERATIVE_STRING_F) (int *step, STR_PSTR(name), STR_PSTR(strvalue), int *ier STR_PLEN(name) STR_PLEN(strvalue)) {
2121+
char c_name[CGIO_MAX_NAME_LENGTH+1];
2122+
char c_strvalue[STRINGMAXLEN+1];
2123+
string_2_C_string(STR_PTR(name), STR_LEN(name),
2124+
c_name, CGIO_MAX_NAME_LENGTH, ier);
2125+
if (*ier) return;
2126+
2127+
*ier = cg_iRIC_Read_Sol_BaseIterative_String(*step, c_name, c_strvalue);
2128+
2129+
if (*ier) return;
2130+
string_2_F_string(c_strvalue, STR_PTR(strvalue), STR_LEN(strvalue), ier);
2131+
}
2132+
20762133
void IRICLIBDLL FMNAME(cg_iric_read_sol_gridcoord2d_f, CG_IRIC_READ_SOL_GRIDCOORD2D_F) (int *step, double *x, double *y, int *ier) {
20772134
*ier = cg_iRIC_Read_Sol_GridCoord2d(*step, x, y);
20782135
}
@@ -2179,6 +2236,19 @@ void IRICLIBDLL FMNAME(cg_iric_write_sol_baseiterative_real_f, CG_IRIC_WRITE_SOL
21792236
*ier = cg_iRIC_Write_Sol_BaseIterative_Real(c_name, *value);
21802237
}
21812238

2239+
void IRICLIBDLL FMNAME(cg_iric_write_sol_baseiterative_string_f, CG_IRIC_WRITE_SOL_BASEITERATIVE_STRING_F) (STR_PSTR(name), STR_PSTR(strvalue), int *ier STR_PLEN(name) STR_PLEN(strvalue)) {
2240+
char c_name[CGIO_MAX_NAME_LENGTH+1];
2241+
char c_strvalue[CGIO_MAX_NAME_LENGTH+1];
2242+
string_2_C_string(STR_PTR(name), STR_LEN(name),
2243+
c_name, CGIO_MAX_NAME_LENGTH, ier);
2244+
if (*ier) return;
2245+
string_2_C_string(STR_PTR(strvalue), STR_LEN(strvalue),
2246+
c_strvalue, CGIO_MAX_NAME_LENGTH, ier);
2247+
if (*ier) return;
2248+
2249+
*ier = cg_iRIC_Write_Sol_BaseIterative_String(c_name, c_strvalue);
2250+
}
2251+
21822252
void IRICLIBDLL FMNAME(cg_iric_write_sol_gridcoord2d_f, CG_IRIC_WRITE_SOL_GRIDCOORD2D_F) (double *x, double *y, int *ier) {
21832253
*ier = cg_iRIC_Write_Sol_GridCoord2d(x, y);
21842254
}
@@ -2499,13 +2569,13 @@ void IRICLIBDLL FMNAME(cg_iric_write_bc_functionalwithname_string_f, CG_IRIC_WRI
24992569
}
25002570

25012571
void IRICLIBDLL FMNAME(cg_iric_write_sol_particle_pos2d_f, CG_IRIC_WRITE_SOL_PARTICLE_POS2D_F) (int *count, double *x, double *y, int *ier) {
2502-
int c_count;
2572+
cgsize_t c_count;
25032573
c_count = (cgsize_t)(*count);
25042574
*ier = cg_iRIC_Write_Sol_Particle_Pos2d(c_count, x, y);
25052575
}
25062576

25072577
void IRICLIBDLL FMNAME(cg_iric_write_sol_particle_pos3d_f, CG_IRIC_WRITE_SOL_PARTICLE_POS3D_F) (int *count, double *x, double *y, double *z, int *ier) {
2508-
int c_count;
2578+
cgsize_t c_count;
25092579
c_count = (cgsize_t)(*count);
25102580
*ier = cg_iRIC_Write_Sol_Particle_Pos3d(c_count, x, y, z);
25112581
}

iriclib.cpp

+21
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,18 @@ int cg_iRIC_Read_Sol_BaseIterative_Real_Mul(int fid, int step, const char* name,
741741
return f->Sol_Read_BaseIterative_Real(step, name, value);
742742
}
743743

744+
int cg_iRIC_Read_Sol_BaseIterative_StringLen_Mul(int fid, int step, const char* name, int* length)
745+
{
746+
GET_F(fid);
747+
return f->Sol_Read_BaseIterative_StringLen(step, name, length);
748+
}
749+
750+
int cg_iRIC_Read_Sol_BaseIterative_String_Mul(int fid, int step, const char* name, char* strvalue)
751+
{
752+
GET_F(fid);
753+
return f->Sol_Read_BaseIterative_String(step, name, strvalue);
754+
}
755+
744756
int cg_iRIC_Read_Sol_GridCoord2d_Mul(int fid, int step, double* x, double* y)
745757
{
746758
GET_F(fid);
@@ -821,6 +833,12 @@ int cg_iRIC_Write_Sol_BaseIterative_Real_Mul(int fid, const char *name, double v
821833
return f->Sol_Write_BaseIterative_Real(name, value);
822834
}
823835

836+
int cg_iRIC_Write_Sol_BaseIterative_String_Mul(int fid, const char *name, const char* strvalue)
837+
{
838+
GET_F(fid);
839+
return f->Sol_Write_BaseIterative_String(name, strvalue);
840+
}
841+
824842
int cg_iRIC_Write_Sol_GridCoord2d_Mul(int fid, double *x, double *y)
825843
{
826844
GET_F(fid);
@@ -907,6 +925,9 @@ int cg_iRIC_Read_BC_IndicesSize_Mul(int fid, const char* type, int num, cgsize_t
907925

908926
int cg_iRIC_Read_BC_Indices_Mul(int fid, const char* type, int num, cgsize_t* indices)
909927
{
928+
#if (CG_SIZEOF_SIZE != 32)
929+
#error CG_IRIC_READ_BC_INDICES_F and CG_IRIC_READ_BC_INDICES_MUL_F need to be updated!
930+
#endif
910931
GET_F(fid);
911932
return f->BC_Read_Indices(type, num, indices);
912933
}

iriclib.h

+12
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,10 @@ int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_Integer_Mul(int fid, int step, con
231231

232232
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_Real_Mul(int fid, int step, const char* name, double* value);
233233

234+
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_StringLen_Mul(int fid, int step, const char* name, int* length);
235+
236+
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_String_Mul(int fid, int step, const char* name, char* strvalue);
237+
234238
int IRICLIBDLL cg_iRIC_Read_Sol_GridCoord2d_Mul(int fid, int step, double* x, double* y);
235239

236240
int IRICLIBDLL cg_iRIC_Read_Sol_GridCoord3d_Mul(int fid, int step, double* x, double* y, double* z);
@@ -263,6 +267,8 @@ int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_Integer_Mul(int fid, const char *
263267

264268
int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_Real_Mul(int fid, const char *name, double value);
265269

270+
int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_String_Mul(int fid, const char *name, const char* strvalue);
271+
266272
int IRICLIBDLL cg_iRIC_Write_Sol_GridCoord2d_Mul(int fid, double *x, double *y);
267273

268274
int IRICLIBDLL cg_iRIC_Write_Sol_GridCoord3d_Mul(int fid, double *x, double *y, double *z);
@@ -585,6 +591,10 @@ int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_Integer(int step, const char* name
585591

586592
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_Real(int step, const char* name, double* value);
587593

594+
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_StringLen(int step, const char* name, int* length);
595+
596+
int IRICLIBDLL cg_iRIC_Read_Sol_BaseIterative_String(int step, const char* name, char* strvalue);
597+
588598
int IRICLIBDLL cg_iRIC_Read_Sol_GridCoord2d(int step, double* x, double* y);
589599

590600
int IRICLIBDLL cg_iRIC_Read_Sol_GridCoord3d(int step, double* x, double* y, double* z);
@@ -613,6 +623,8 @@ int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_Integer(const char *name, int val
613623

614624
int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_Real(const char *name, double value);
615625

626+
int IRICLIBDLL cg_iRIC_Write_Sol_BaseIterative_String(const char *name, const char* strvalue);
627+
616628
int IRICLIBDLL cg_iRIC_Write_Sol_GridCoord2d(double *x, double *y);
617629

618630
int IRICLIBDLL cg_iRIC_Write_Sol_GridCoord3d(double *x, double *y, double *z);

iriclib_cgnsfile.h

+3
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,8 @@ class CgnsFile
156156
int Sol_Read_Iteration(int step, int* index);
157157
int Sol_Read_BaseIterative_Integer(int step, const char* name, int* value);
158158
int Sol_Read_BaseIterative_Real(int step, const char* name, double* value);
159+
int Sol_Read_BaseIterative_StringLen(int step, const char* name, int* length);
160+
int Sol_Read_BaseIterative_String(int step, const char* name, char* strvalue);
159161
int Sol_Read_GridCoord2d(int step, double* x, double* y);
160162
int Sol_Read_GridCoord3d(int step, double* x, double* y, double* z);
161163
int Sol_Read_Integer(int step, const char *name, int* data);
@@ -171,6 +173,7 @@ class CgnsFile
171173
int Sol_Write_Iteration(int index);
172174
int Sol_Write_BaseIterative_Integer(const char *name, int value);
173175
int Sol_Write_BaseIterative_Real(const char *name, double value);
176+
int Sol_Write_BaseIterative_String(const char* name, const char* value);
174177
int Sol_Write_GridCoord2d(double *x, double *y);
175178
int Sol_Write_GridCoord3d(double *x, double *y, double *z);
176179
int Sol_Write_Integer(const char *name, int* data);

iriclib_cgnsfile_base.cpp

+34-14
Original file line numberDiff line numberDiff line change
@@ -235,34 +235,54 @@ int CgnsFile::Impl::loadResultData()
235235
char name[NAME_MAXLENGTH];
236236
DataType_t datatype;
237237
int dim;
238-
cgsize_t dimvec;
238+
cgsize_t dimvec[Impl::MAX_DIMS];
239239

240-
ier = cg_array_info(i, name, &datatype, &dim, &dimvec);
240+
ier = cg_array_info(i, name, &datatype, &dim, dimvec);
241241
RETURN_IF_ERR;
242242

243243
if (strcmp(name, "TimeValues") == 0) {
244-
m_solTimes.assign(dimvec, 0);
244+
m_solTimes.assign(dimvec[0], 0);
245245
ier = cg_array_read(i, m_solTimes.data());
246246
RETURN_IF_ERR;
247247
} else if (strcmp(name, "IterationValues") == 0) {
248-
m_solIndices.assign(dimvec, 0);
248+
m_solIndices.assign(dimvec[0], 0);
249249
ier = cg_array_read(i, m_solIndices.data());
250250
} else if (datatype == RealDouble || datatype == RealSingle) {
251251
BaseIterativeT<double> biData = std::string(name);
252252
std::vector<double> vals;
253-
vals.assign(dimvec, 0);
253+
vals.assign(dimvec[0], 0);
254254
ier = cg_array_read_as(i, RealDouble, vals.data());
255255
RETURN_IF_ERR;
256256
biData.setValues(vals);
257257
m_solBaseIterReals.push_back(biData);
258258
} else if (datatype == Integer) {
259259
BaseIterativeT<int> biData = std::string(name);
260260
std::vector<int> vals;
261-
vals.assign(dimvec, 0);
261+
vals.assign(dimvec[0], 0);
262262
ier = cg_array_read_as(i, Integer, vals.data());
263263
RETURN_IF_ERR;
264264
biData.setValues(vals);
265265
m_solBaseIterInts.push_back(biData);
266+
} else if (datatype == Character) {
267+
BaseIterativeT<std::string> biData = std::string(name);
268+
std::vector<std::string> vals;
269+
std::vector<char> buffer;
270+
buffer.assign(dimvec[0] * dimvec[1], '\0');
271+
ier = cg_array_read(i, buffer.data());
272+
RETURN_IF_ERR;
273+
for (int i = 0; i < dimvec[1]; ++i) {
274+
std::vector<char> b;
275+
b.assign(dimvec[0] + 1, '\0');
276+
memcpy(b.data(), buffer.data() + dimvec[0] * i, dimvec[0]);
277+
int j = 0;
278+
while (j <= dimvec[0] && *(b.data() + dimvec[0] - j) == ' ') {
279+
*(b.data() + dimvec[0] - j) = '\0';
280+
++j;
281+
}
282+
vals.push_back(std::string(b.data()));
283+
}
284+
biData.setValues(vals);
285+
m_solBaseIterStrings.push_back(biData);
266286
}
267287
}
268288
return 0;
@@ -563,9 +583,9 @@ int CgnsFile::Impl::readArray(const char* name, DataType_t dataType, cgsize_t le
563583
int index;
564584
DataType_t dt;
565585
int dim;
566-
cgsize_t dimVec[3];
586+
cgsize_t dimVec[Impl::MAX_DIMS];
567587

568-
int ier = findArray(name, &index, &dt, &dim, &(dimVec[0]));
588+
int ier = findArray(name, &index, &dt, &dim, dimVec);
569589
RETURN_IF_ERR;
570590

571591
// check datatype;
@@ -583,9 +603,9 @@ int CgnsFile::Impl::readArrayAs(const char* name, DataType_t dataType, size_t le
583603
int index;
584604
DataType_t dt;
585605
int dim;
586-
cgsize_t dimVec[3];
606+
cgsize_t dimVec[Impl::MAX_DIMS];
587607

588-
int ier = findArray(name, &index, &dt, &dim, &(dimVec[0]));
608+
int ier = findArray(name, &index, &dt, &dim, dimVec);
589609
RETURN_IF_ERR;
590610

591611
// check datalength if needed
@@ -601,9 +621,9 @@ int CgnsFile::Impl::readStringLen(const char* name, int* length)
601621
int index;
602622
DataType_t datatype;
603623
int dim;
604-
cgsize_t dimVec[3];
624+
cgsize_t dimVec[Impl::MAX_DIMS];
605625

606-
int ier = findArray(name, &index, &datatype, &dim, &(dimVec[0]));
626+
int ier = findArray(name, &index, &datatype, &dim, dimVec);
607627
RETURN_IF_ERR;
608628

609629
if (datatype != Character){return -1;}
@@ -618,9 +638,9 @@ int CgnsFile::Impl::readString(const char* name, size_t bufferLen, char* buffer)
618638
int index;
619639
DataType_t datatype;
620640
int dim;
621-
cgsize_t dimVec[3];
641+
cgsize_t dimVec[Impl::MAX_DIMS];
622642

623-
int ier = findArray(name, &index, &datatype, &dim, &(dimVec[0]));
643+
int ier = findArray(name, &index, &datatype, &dim, dimVec);
624644

625645
// check datatype
626646
if (datatype != Character){return -1;}

0 commit comments

Comments
 (0)