Fix clear flags on points in nlookup if none
All checks were successful
Altlinux build / build-alt (push) Successful in 2m44s
Archlinux build / build-arch (push) Successful in 2m58s
Archlinux build / make-test (push) Successful in 56s
Debian build / build-ubuntu (push) Successful in 3m49s

This commit is contained in:
Alexey Khromov 2025-05-01 23:51:45 +03:00
parent a387668a26
commit 2a1f00c21f
7 changed files with 23 additions and 12 deletions

View File

@ -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

4
debian/changelog vendored
View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
0.27
0.27.1

View File

@ -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, "<no 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));

View File

@ -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;
}

View File

@ -71,6 +71,7 @@ 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);
if (node->flags)
printf("Flags : %s\n", node->flags);
if( node->worktime.num )