diff --git a/b2/db.c b/b2/db.c index 866a8b0..9104f94 100644 --- a/b2/db.c +++ b/b2/db.c @@ -172,8 +172,9 @@ static void dump_stock(FILE *file, const struct stock *s) { const struct price *p; - fprintf(file, " %s %d %d %s %g", - s->cat, s->avail, s->package, s->curr->name, s->add); + fprintf(file, " %s %s %d %d %s %g", + s->provider->name, s->cat, s->avail, s->package, s->curr->name, + s->add); for (p = s->price; p; p = p->next) fprintf(file, " %d %g", p->qty, p->value); fprintf(file, "\n"); diff --git a/b2/db.h b/b2/db.h index caec094..29fed1a 100644 --- a/b2/db.h +++ b/b2/db.h @@ -73,6 +73,7 @@ struct provider { */ struct stock { + const struct provider *provider; const char *cat; /* category */ int avail; /* items in stock */ int package; /* "natural" quantity (reel, tray, bag, etc.) */ diff --git a/b2/lang.y b/b2/lang.y index eae69d6..f46ec0c 100644 --- a/b2/lang.y +++ b/b2/lang.y @@ -428,6 +428,7 @@ inventory_item: WORD WORD stock TOK_NL { $$ = part_add($1, $2); + $3->provider = provider_add($1); part_add_stock($$, $3); } ; @@ -436,6 +437,7 @@ stock: WORD int int WORD float prices { $$ = alloc_type(struct stock); + $$->provider = NULL; $$->cat = $1; $$->avail = $2; $$->package = $3;