diff options
Diffstat (limited to 'src/food.c')
-rw-r--r-- | src/food.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -13,6 +13,7 @@ static struct opts { int html; int rcp; char query[2048]; + int title; int eval; int list; int hash; @@ -25,6 +26,7 @@ static struct opts { .rcp = 0, .query = "", .eval = 1, + .title = 0, .list = 0, .hash = 0, .search = 0, @@ -67,6 +69,7 @@ main(int argc, char * argv[]) {"to-rcp", no_argument, 0, 'r'}, {"format", required_argument, 0, 'f'}, {"search", required_argument, 0, 's'}, + {"title", required_argument, 0, 't'}, {"strict", required_argument, 0, 'S'}, {"hash", required_argument, 0, 'H'}, {"list-ingredients", no_argument, 0, 'l'}, @@ -76,7 +79,7 @@ main(int argc, char * argv[]) int option_index = 0; - c = getopt_long (argc, argv, "jnlhrwf:s:S:H:", + c = getopt_long (argc, argv, "jnlhrwf:s:S:t:H:", long_options, &option_index); if (c == -1) @@ -101,6 +104,10 @@ main(int argc, char * argv[]) else fprintf(stderr, "invalid format: %s\n", optarg); break; + case 't': + opt.title = 1; + strcpy(opt.query, optarg); + break; case 's': opt.search = 1; strcpy(opt.query, optarg); @@ -162,6 +169,12 @@ main(int argc, char * argv[]) continue; } } + if (opt.title) { + if (strcmp(r->title, opt.query)) { + free_recipe(r); + continue; + } + } if (opt.search) { int c; if (!(c = query_for_items_pbn(r, opt.query, opt.search_strict))) { @@ -171,7 +184,6 @@ main(int argc, char * argv[]) if (c < 0) exit(1); } - if (opt.list) { pprint_items(r); } |