From c04dd01e261ddcf81d8db90e6ac7a47d5b203b82 Mon Sep 17 00:00:00 2001 From: Jann Haber Date: Mon, 23 Sep 2019 23:14:54 +0200 Subject: [PATCH] Swift940 parser: Fixes default booking date taken from tag :60F: if no booking date is included in tag :61: --- src/libs/plugins/parsers/swift/swift940.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/libs/plugins/parsers/swift/swift940.c b/src/libs/plugins/parsers/swift/swift940.c index 738de0f7..7d5e37b5 100644 --- a/src/libs/plugins/parsers/swift/swift940.c +++ b/src/libs/plugins/parsers/swift/swift940.c @@ -344,7 +344,7 @@ int AHB_SWIFT940_Parse_61(const AHB_SWIFT_TAG *tg, dt=GWEN_Date_fromGregorian(d1b, d2b, d3b); assert(dt); - GWEN_DB_SetCharValue(data, GWEN_DB_FLAGS_DEFAULT, "date", GWEN_Date_GetString(dt)); + GWEN_DB_SetCharValue(data, GWEN_DB_FLAGS_OVERWRITE_VARS, "date", GWEN_Date_GetString(dt)); GWEN_Date_free(dt); p+=4; bleft-=4; @@ -828,7 +828,7 @@ int AHB_SWIFT940_Import(AHB_SWIFT_TAG_LIST *tl, GWEN_DB_NODE *dbDay=NULL; GWEN_DB_NODE *dbTemplate=NULL; GWEN_DB_NODE *dbTransaction=NULL; - GWEN_DB_NODE *dbDate=NULL; + const char *dbDate; uint32_t progressId; const char *acceptTag20="*"; const char *rejectTag20=NULL; @@ -924,8 +924,8 @@ int AHB_SWIFT940_Import(AHB_SWIFT_TAG_LIST *tl, return -1; } else { - dbDate=GWEN_DB_GetGroup(dbSaldo, GWEN_PATH_FLAGS_NAMEMUSTEXIST, - "date"); + dbDate=GWEN_DB_GetCharValue(dbSaldo, + "date", 0, NULL); } curr=GWEN_DB_GetCharValue(dbSaldo, "value/currency", 0, 0); @@ -976,14 +976,9 @@ int AHB_SWIFT940_Import(AHB_SWIFT_TAG_LIST *tl, "transaction"); GWEN_DB_AddGroupChildren(dbTransaction, dbTemplate); if (dbDate) { - GWEN_DB_NODE *dbT; - /* dbDate is set upon parsing of tag 60F, use it as a default * if possible */ - dbT=GWEN_DB_GetGroup(dbTransaction, GWEN_DB_FLAGS_OVERWRITE_GROUPS, - "date"); - assert(dbT); - GWEN_DB_AddGroupChildren(dbT, dbDate); + GWEN_DB_SetCharValue(dbTransaction, GWEN_DB_FLAGS_DEFAULT, "date", dbDate); } if (AHB_SWIFT940_Parse_61(tg, flags, dbTransaction, cfg)) { DBG_INFO(AQBANKING_LOGDOMAIN, "Error in tag"); -- 2.20.1