src/server/config/keyfile.c

changeset 101
7fbcdbad0baa
parent 97
09fbefc0e6a9
child 115
51d9a15eac98
equal deleted inserted replaced
100:e9bb8449df02 101:7fbcdbad0baa
65 65
66 int keyfile_parse(void *p, ConfigLine *begin, ConfigLine *end, sstr_t line) { 66 int keyfile_parse(void *p, ConfigLine *begin, ConfigLine *end, sstr_t line) {
67 KeyfileConfig *conf = p; 67 KeyfileConfig *conf = p;
68 UcxAllocator *mp = conf->parser.mp; 68 UcxAllocator *mp = conf->parser.mp;
69 69
70 size_t tkn = 0; 70 ssize_t tkn = 0;
71 sstr_t *tk = sstrsplit(line, sstrn(";", 1), &tkn); 71 sstr_t *tk = sstrsplit(line, sstrn(";", 1), &tkn);
72 72
73 if(tkn < 2) { 73 if(tkn < 2) {
74 return 1; 74 return 1;
75 } 75 }
113 entry->hashdata = sstrdup_a(mp, hash_data); 113 entry->hashdata = sstrdup_a(mp, hash_data);
114 114
115 // get groups 115 // get groups
116 if(tkn == 3) { 116 if(tkn == 3) {
117 sstr_t groups_str = sstrtrim(tk[2]); 117 sstr_t groups_str = sstrtrim(tk[2]);
118 size_t ngroups = 0; 118 ssize_t ngroups = 0;
119 sstr_t *groups = sstrsplit(groups_str, sstrn(",", 1), &ngroups); 119 sstr_t *groups = sstrsplit(groups_str, sstrn(",", 1), &ngroups);
120 entry->groups = mp->calloc(mp->pool, ngroups, sizeof(sstr_t)); 120 entry->groups = mp->calloc(mp->pool, ngroups, sizeof(sstr_t));
121 entry->numgroups = ngroups; 121 entry->numgroups = ngroups;
122 for(int i=0;i<ngroups;i++) { 122 for(int i=0;i<ngroups;i++) {
123 entry->groups[i] = sstrdup_a(mp, sstrtrim(groups[i])); 123 entry->groups[i] = sstrdup_a(mp, sstrtrim(groups[i]));

mercurial