comparison ReadParamsFromFile.c @ 11:4d981e9848b1

change brch tag filename
author Me@portablequad
date Mon, 13 Feb 2012 13:03:30 -0800
parents 1bf28dddc45f
children
comparison
equal deleted inserted replaced
5:c2d795c0bec9 6:4ce78a8ba54a
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <stdlib.h> 8 #include <stdlib.h>
9 #include <string.h> 9 #include <string.h>
10 10
11 #include "Param.h" 11 #include "ParamBag.h"
12 12
13 ParamStruc * makeParamFromStrs( char * type, char *value ); 13 ParamStruc * makeParamFromStrs( char * type, char *value );
14 14
15 #define _GNU_SOURCE 15 #define _GNU_SOURCE
16 16
17 /*Copied from gnu's win32 lib 17 /*Copied from gnu's win32 lib
18 */ 18 */
19 ssize_t 19 ssize_t
20 getline( char **lineptr, size_t *n, FILE *stream ) 20 getline( char **lineptr, size_t *n, FILE *stream )
21 { 21 {
22 if ( lineptr == NULL || n == NULL) return -1; 22 if ( lineptr == NULL || n == NULL) return -1;
23 if (*lineptr == NULL || *n == 0) 23 if (*lineptr == NULL || *n == 0)
24 { *n = 500; //max length of line in a config file 24 { *n = 500; //max length of line in a config file
25 *lineptr = (char *) VMS__malloc( *n ); 25 *lineptr = (char *) VMS_WL__malloc( *n );
26 if (*lineptr == NULL) return -1; 26 if (*lineptr == NULL) return -1;
27 } 27 }
28 if( fgets( *lineptr, *n, stream ) ) 28 if( fgets( *lineptr, *n, stream ) )
29 return *n; 29 return *n;
30 else 30 else
31 return -1; 31 return -1;
32 } 32 }
33 33
34 void 34 void
35 readParamFileIntoBag( char *paramFileName, ParamBag * bag ) 35 readParamFileIntoBag( char *paramFileName, ParamBag * bag )
36 { 36 {
37 size_t lineSz = 0; 37 size_t lineSz = 0;
38 FILE* paramFile; 38 FILE* paramFile;
39 char* line = NULL; 39 char* line = NULL;
41 char* paramType;// = malloc( 12 ); //"double" is the longest type 41 char* paramType;// = malloc( 12 ); //"double" is the longest type
42 char* paramName;// = malloc( 500 ); //max of 500 chars in name 42 char* paramName;// = malloc( 500 ); //max of 500 chars in name
43 char* paramValue;// = malloc( 500 ); //max of 500 chars in value 43 char* paramValue;// = malloc( 500 ); //max of 500 chars in value
44 44
45 lineSz = 500; //max length of line in a config file 45 lineSz = 500; //max length of line in a config file
46 line = (char *) VMS__malloc( lineSz ); 46 line = (char *) VMS_WL__malloc( lineSz );
47 if( line == NULL ) 47 if( line == NULL )
48 { printf( "\nIn readParamFileIntoBag: no mem for line\n" ); 48 { printf( "\nIn readParamFileIntoBag: no mem for line\n" );
49 return; 49 return;
50 } 50 }
51 51
104 paramStruc = makeParamFromStrs( paramType, paramValue ); 104 paramStruc = makeParamFromStrs( paramType, paramValue );
105 addParamToBag( paramName, paramStruc, bag ); 105 addParamToBag( paramName, paramStruc, bag );
106 } 106 }
107 } 107 }
108 } 108 }
109 VMS__free( line ); 109 VMS_WL__free( line );
110 } 110 }
111 111