aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs6f/s6f_report_state_change.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs6f/s6f_report_state_change.c')
-rw-r--r--src/libs6f/s6f_report_state_change.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libs6f/s6f_report_state_change.c b/src/libs6f/s6f_report_state_change.c
index 9cb718b..6a34724 100644
--- a/src/libs6f/s6f_report_state_change.c
+++ b/src/libs6f/s6f_report_state_change.c
@@ -1,7 +1,5 @@
/* ISC license. */
-#include <string.h>
-
#include <skalibs/prog.h>
#include <skalibs/strerr.h>
#include <skalibs/djbunix.h>
@@ -12,7 +10,9 @@
void s6f_report_state_change (uint32_t n, unsigned char const *oldstate, unsigned char const *newstate, char const *compiled, int h)
{
- if (!memcmp(oldstate, newstate, n))
+ unsigned int i = 0 ;
+ for (; i < n ; i++) if ((oldstate[i] & 0x01) != (newstate[i] & 0x01)) break ;
+ if (i >= n)
{
if (buffer_puts(buffer_1, PROG) < 0
|| buffer_puts(buffer_1, ": info: ") < 0
@@ -51,7 +51,7 @@ void s6f_report_state_change (uint32_t n, unsigned char const *oldstate, unsigne
strerr_diefu1sys(111, "write to stdout") ;
for (uint32_t i = 0 ; i < n ; i++)
{
- if ((oldstate[i] & 1) != (newstate[i] & 1))
+ if ((oldstate[i] & 0x01) != (newstate[i] & 0x01))
{
if (buffer_puts(buffer_1, db.string + db.services[i].name) < 0
|| buffer_put(buffer_1, "\n", 1) < 1)