aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstddjb/gol.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstddjb/gol.c')
-rw-r--r--src/libstddjb/gol.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstddjb/gol.c b/src/libstddjb/gol.c
index 990cd73..93ebe79 100644
--- a/src/libstddjb/gol.c
+++ b/src/libstddjb/gol.c
@@ -28,7 +28,8 @@ int gol (char const *const *argv, gol_bool const *b, unsigned int bn, gol_arg co
{
for (; j < bn ; j++) if (!strcmp(argv[i] + 2, b[j].lo)) break ;
if (j >= bn) return (*problem = -1, -1-i) ;
- if (b[j].set) *br |= b[j].mask ; else *br &= ~b[j].mask ;
+ *br &= ~b[j].clear ;
+ *br |= b[j].set ;
}
}
else
@@ -46,7 +47,8 @@ int gol (char const *const *argv, gol_bool const *b, unsigned int bn, gol_arg co
}
for (j = 0 ; j < bn ; j++) if (*p == b[j].so) break ;
if (j >= bn) return (*problem = p - argv[i], -1-i) ;
- if (b[j].set) *br |= b[j].mask ; else *br &= ~b[j].mask ;
+ *br &= ~b[j].clear ;
+ *br |= b[j].set ;
}
}
}