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