Unified · Split
| @@ -161,6 +161,7 @@ idbylistname(char *list) · 160 unmodified lines | |||
| 161 | int i, cnt, pick; | 161 | int i, cnt, pick; |
| 162 | Ndbtuple *t, *nt; | 162 | Ndbtuple *t, *nt; |
| 163 | Ndbs search; | 163 | Ndbs search; |
| 164 | ItemData *id; | ||
| 164 | 165 | ||
| 165 | t = ndbsearch(itemdb, &search, "itemlist", list); | 166 | t = ndbsearch(itemdb, &search, "itemlist", list); |
| 166 | if(t == nil) | 167 | if(t == nil) |
| @@ -181,11 +182,17 @@ idbylistname(char *list) · 14 unmodified lines | |||
| 181 | 182 | ||
| 182 | /* walk this many forward */ | 183 | /* walk this many forward */ |
| 183 | i = 0; | 184 | i = 0; |
| 185 | id = nil; | ||
| 184 | for(nt = t; nt != nil; nt = nt->entry){ | 186 | for(nt = t; nt != nil; nt = nt->entry){ |
| 185 | if(strcmp(nt->attr, "items") == 0 && i++ == pick) | 187 | if(strcmp(nt->attr, "items") == 0 && i++ == pick){ |
| 186 | return idbyname(nt->val); | 188 | id = idbyname(nt->val); |
| 189 | break; | ||
| 190 | } | ||
| 187 | } | 191 | } |
| 188 | return nil; | 192 | |
| 193 | ndbfree(t); | ||
| 194 | |||
| 195 | return id; | ||
| 189 | } | 196 | } |
| 190 | 197 | ||
| 191 | ItemData* | 198 | ItemData* |
| @@ -231,6 +238,8 @@ okattr: · 39 unmodified lines | |||
| 231 | continue; | 238 | continue; |
| 232 | } | 239 | } |
| 233 | 240 | ||
| 241 | ndbfree(t); | ||
| 242 | |||
| 234 | idc = mallocz(sizeof(idcache), 1); | 243 | idc = mallocz(sizeof(idcache), 1); |
| 235 | assert(idc != nil); | 244 | assert(idc != nil); |
| 236 | 245 | ||
| @@ -150,6 +150,8 @@ okattr: · 149 unmodified lines | |||
| 150 | continue; | 150 | continue; |
| 151 | } | 151 | } |
| 152 | 152 | ||
| 153 | ndbfree(t); | ||
| 154 | |||
| 153 | mdc = mallocz(sizeof(mdcache), 1); | 155 | mdc = mallocz(sizeof(mdcache), 1); |
| 154 | assert(mdc != nil); | 156 | assert(mdc != nil); |
| 155 | 157 | ||