diff --git a/src/engine/gnc-pricedb-p.h b/src/engine/gnc-pricedb-p.h index f79902ec11..5d5b9c21fb 100644 --- a/src/engine/gnc-pricedb-p.h +++ b/src/engine/gnc-pricedb-p.h @@ -64,12 +64,15 @@ typedef enum { LOOKUP_LATEST = 1, LOOKUP_ALL, LOOKUP_AT_TIME, - LOOKUP_NEAREST_IN_TIME + LOOKUP_NEAREST_IN_TIME, + LOOKUP_LATEST_BEFORE, + LOOKUP_EARLIEST_AFTER } PriceLookupType; struct _GNCPriceLookup { PriceLookupType type; + GNCPriceDB *prdb; gnc_commodity *commodity; gnc_commodity *currency; Timespec date; diff --git a/src/engine/gnc-pricedb.c b/src/engine/gnc-pricedb.c index 1ac652c60f..05cff9ca76 100644 --- a/src/engine/gnc-pricedb.c +++ b/src/engine/gnc-pricedb.c @@ -642,6 +642,7 @@ gnc_pricedb_lookup_latest(GNCPriceDB *db, { GNCPriceLookup pl; pl.type = LOOKUP_LATEST; + pl.prdb = db; pl.commodity = commodity; pl.currency = currency; (db->backend->price_lookup) (db->backend, &pl); @@ -678,6 +679,7 @@ gnc_pricedb_get_prices(GNCPriceDB *db, { GNCPriceLookup pl; pl.type = LOOKUP_ALL; + pl.prdb = db; pl.commodity = commodity; pl.currency = currency; (db->backend->price_lookup) (db->backend, &pl); @@ -715,6 +717,7 @@ gnc_pricedb_lookup_at_time(GNCPriceDB *db, { GNCPriceLookup pl; pl.type = LOOKUP_AT_TIME; + pl.prdb = db; pl.commodity = c; pl.currency = currency; pl.date = t; @@ -762,6 +765,7 @@ gnc_pricedb_lookup_nearest_in_time(GNCPriceDB *db, { GNCPriceLookup pl; pl.type = LOOKUP_NEAREST_IN_TIME; + pl.prdb = db; pl.commodity = c; pl.currency = currency; pl.date = t;