@@ -148,7 +148,6 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
148
148
xdifile -> extra_version = calloc (MAX_LINE_LENGTH + 1 , sizeof (char ));
149
149
strncpy (xdifile -> extra_version , version_extra , MAX_LINE_LENGTH );
150
150
151
-
152
151
strcpy (errline , " " );
153
152
xdifile -> error_line = calloc (MAX_LINE_LENGTH + 1 , sizeof (char ));
154
153
strncpy (xdifile -> error_line , errline , MAX_LINE_LENGTH );
@@ -171,9 +170,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
171
170
172
171
for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
173
172
sprintf (tlabel , "col%ld" , i + 1 );
174
- /* COPY_STRING(col_labels[i], tlabel); */
173
+ COPY_STRING (col_labels [i ], tlabel );
175
174
/* COPY_STRING(col_units[i], ""); */
176
- col_labels [i ] = tlabel ;
175
+ /* col_labels[i] = tlabel; */
177
176
col_units [i ] = "" ;
178
177
}
179
178
@@ -196,12 +195,18 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
196
195
for (j = 0 ; j <=ilen ; j ++ ) {
197
196
free (textlines [j ]);
198
197
}
198
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
199
+ free (col_labels [i ]);
200
+ }
199
201
return ERR_NOTXDI ;
200
202
}
201
203
if (strncasecmp (cwords [0 ], TOK_VERSION , strlen (TOK_VERSION )) != 0 ) {
202
204
for (j = 0 ; j <=ilen ; j ++ ) {
203
205
free (textlines [j ]);
204
206
}
207
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
208
+ free (col_labels [i ]);
209
+ }
205
210
return ERR_NOTXDI ;
206
211
} else {
207
212
firstline = firstline + 5 ;
@@ -261,6 +266,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
261
266
for (k = 0 ; k <=ilen ; k ++ ) {
262
267
free (textlines [k ]);
263
268
}
269
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
270
+ free (col_labels [i ]);
271
+ }
264
272
return ERR_META_FAMNAME ;
265
273
}
266
274
@@ -271,6 +279,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
271
279
for (k = 0 ; k <=ilen ; k ++ ) {
272
280
free (textlines [k ]);
273
281
}
282
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
283
+ free (col_labels [i ]);
284
+ }
274
285
return ERR_META_KEYNAME ;
275
286
}
276
287
@@ -282,6 +293,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
282
293
for (k = 0 ; k <=ilen ; k ++ ) {
283
294
free (textlines [k ]);
284
295
}
296
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
297
+ free (col_labels [i ]);
298
+ }
285
299
return ERR_META_FORMAT ;
286
300
}
287
301
/* printf(" metadata: %ld | %s | %s\n", ndict, mkey, mval); */
@@ -290,7 +304,8 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
290
304
j = atoi (mkey + 7 )- 1 ;
291
305
if ((j > -1 ) && (j < MAX_COLUMNS )) {
292
306
ncols = make_words (mval , cwords , 2 );
293
- col_labels [j ] = cwords [0 ];
307
+ free (col_labels [j ]);
308
+ COPY_STRING (col_labels [j ], cwords [0 ]);
294
309
if (ncols == 2 ) {
295
310
col_units [j ] = cwords [1 ];
296
311
}
@@ -320,6 +335,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
320
335
for (k = 0 ; k <=ilen ; k ++ ) {
321
336
free (textlines [k ]);
322
337
}
338
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
339
+ free (col_labels [i ]);
340
+ }
323
341
return ERR_NONNUMERIC ;
324
342
}
325
343
xdifile -> dspacing = dval ;
@@ -338,6 +356,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
338
356
for (k = 0 ; k <=ilen ; k ++ ) {
339
357
free (textlines [k ]);
340
358
}
359
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
360
+ free (col_labels [i ]);
361
+ }
341
362
return j ;
342
363
}
343
364
}
@@ -361,6 +382,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
361
382
for (k = 0 ; k <=ilen ; k ++ ) {
362
383
free (textlines [k ]);
363
384
}
385
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
386
+ free (col_labels [i ]);
387
+ }
364
388
return ERR_META_FORMAT ;
365
389
}
366
390
free (mkey );
@@ -441,6 +465,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
441
465
for (j = 0 ; j <=ilen ; j ++ ) {
442
466
free (textlines [j ]);
443
467
}
468
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
469
+ free (col_labels [i ]);
470
+ }
444
471
return ERR_NONNUMERIC ;
445
472
}
446
473
xdifile -> array [j ][0 ] = dval ;
@@ -484,6 +511,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
484
511
for (j = 0 ; j <=ilen ; j ++ ) {
485
512
free (textlines [j ]);
486
513
}
514
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
515
+ free (col_labels [i ]);
516
+ }
487
517
return ERR_NCOLS_CHANGE ;
488
518
}
489
519
icol = min (ncols , icol );
@@ -497,6 +527,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
497
527
for (j = 0 ; j <=ilen ; j ++ ) {
498
528
free (textlines [j ]);
499
529
}
530
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
531
+ free (col_labels [i ]);
532
+ }
500
533
return ERR_NONNUMERIC ;
501
534
}
502
535
xdifile -> array [j ][ipt ] = dval ;
@@ -527,6 +560,9 @@ XDI_readfile(char *filename, XDIFile *xdifile) {
527
560
for (j = 0 ; j <=ilen ; j ++ ) {
528
561
free (textlines [j ]);
529
562
}
563
+ for (i = 0 ; i < MAX_COLUMNS ; i ++ ) {
564
+ free (col_labels [i ]);
565
+ }
530
566
return iret ;
531
567
532
568
}
0 commit comments