From 2a1f00c21f19aac684e27ec2486088f4395b36ef Mon Sep 17 00:00:00 2001 From: Alexey Khromov Date: Thu, 1 May 2025 23:51:45 +0300 Subject: [PATCH] Fix clear flags on points in nlookup if none --- CHANGES | 3 +++ debian/changelog | 4 ++++ rpm/bforce.spec | 2 +- source/.version | 2 +- source/bforce/nodelist.c | 19 +++++++++++-------- source/bforce/u_string.c | 2 +- source/bfutil/nlookup.c | 3 ++- 7 files changed, 23 insertions(+), 12 deletions(-) diff --git a/CHANGES b/CHANGES index 3fe256f..e4b75d5 100644 --- a/CHANGES +++ b/CHANGES @@ -302,3 +302,6 @@ Alexey Khromov (zx@zxalexis.ru) * INA in hidden flags sets remote address, protoflags change protocols * ipaddr in hidden flags overwrites original and has max priority * phone in hidden lines do not affect ip callout in case without flags + +0.27.1 + + Fixed clear flags in nlookup when none of them diff --git a/debian/changelog b/debian/changelog index ca35488..e92f2fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,7 @@ +bforce (0.27.1) UNRELEASED; urgency=medium + + * Fixed clear flags on points in nlookup if none + bforce (0.27) UNRELEASED; urgency=medium * Fixed warnings from PVS-Studio analyser diff --git a/rpm/bforce.spec b/rpm/bforce.spec index 6135e47..74eadeb 100644 --- a/rpm/bforce.spec +++ b/rpm/bforce.spec @@ -1,6 +1,6 @@ Summary: Bforce, Fidonet mailer Name: bforce -Version: 0.27 +Version: 0.27.1 Release: %{_vendor}1 Copyright: GPL Group: Fidonet/mailer diff --git a/source/.version b/source/.version index 5a9e6bd..83b4730 100644 --- a/source/.version +++ b/source/.version @@ -1 +1 @@ -0.27 +0.27.1 diff --git a/source/bforce/nodelist.c b/source/bforce/nodelist.c index 93375ec..f80ce5b 100644 --- a/source/bforce/nodelist.c +++ b/source/bforce/nodelist.c @@ -219,20 +219,23 @@ int nodelist_parsepoint(s_node *node, char *str) cnt = string_parse(argv, NODELIST_POSFLAGS+1, str, ','); if( cnt < NODELIST_POSFLAGS-1 ) return -1; - DEB((D_NODELIST,"nodelist: parsepoint OK: %d", cnt)); + //DEB((D_NODELIST,"nodelist: parsepoint OK: %d", cnt)); strnxcpy(node->name, argv[NODELIST_POSNAME], sizeof(node->name)); - DEB((D_NODELIST,"nodelist: parsepoint sys: %s", node->name)); + //DEB((D_NODELIST,"nodelist: parsepoint sys: %s", node->name)); strnxcpy(node->location, argv[NODELIST_POSLOCATION], sizeof(node->location)); - DEB((D_NODELIST,"nodelist: parsepoint loc: %s", node->location)); + //DEB((D_NODELIST,"nodelist: parsepoint loc: %s", node->location)); strnxcpy(node->sysop, argv[NODELIST_POSSYSOP], sizeof(node->sysop)); - DEB((D_NODELIST,"nodelist: parsepoint zyz: %s", node->sysop)); + //DEB((D_NODELIST,"nodelist: parsepoint zyz: %s", node->sysop)); strnxcpy(node->phone, argv[NODELIST_POSPHONE], sizeof(node->phone)); - DEB((D_NODELIST,"nodelist: parsepoint pho: %s", node->phone)); + //DEB((D_NODELIST,"nodelist: parsepoint pho: %s", node->phone)); if (argv[NODELIST_POSFLAGS]) strnxcpy(node->flags, argv[NODELIST_POSFLAGS], sizeof(node->flags)); - else - memset(node->flags,'\0',sizeof(node->flags)); - DEB((D_NODELIST,"nodelist: parsepoint fl: %s", node->flags)); + else { + //DEB((D_NODELIST,"nodelist: no flags")); + //memset(node->flags,'\0',sizeof(node->flags)); + strnxcpy(node->flags, "", sizeof(node->flags)); + } + //DEB((D_NODELIST,"nodelist: parsepoint fl: %s", node->flags)); if (argv[NODELIST_POSSPEED]) node->speed = atoi(argv[NODELIST_POSSPEED]); DEB((D_NODELIST, "nodelist: Parsed common values SYS: %s, ZYZ: %s, LOC: %s, PHONE: %s", node->name, node->sysop, node->location, node->phone)); diff --git a/source/bforce/u_string.c b/source/bforce/u_string.c index 4dd55f2..83b1ff9 100644 --- a/source/bforce/u_string.c +++ b/source/bforce/u_string.c @@ -613,8 +613,8 @@ int string_parse(char **dest, int items, char *str, int separator) if( *((unsigned char *)p) == separator ) { *p++ = '\0'; -// DEB((D_INDEX,"Parsed string: %s", dest[count])); dest[count++] = p; + //DEB((D_NODELIST,"Parsed string: %s", dest[count-1])); } else ++p; } diff --git a/source/bfutil/nlookup.c b/source/bfutil/nlookup.c index c671380..6f68dc3 100644 --- a/source/bfutil/nlookup.c +++ b/source/bfutil/nlookup.c @@ -71,7 +71,8 @@ void print_nodeinfo(const s_node *node) printf("Sysop : %s\n", node->sysop); printf("Location : %s\n", node->location); printf("Speed : %ld\n", node->speed); - printf("Flags : %s\n", node->flags); + if (node->flags) + printf("Flags : %s\n", node->flags); if( node->worktime.num ) {