Fix touch -a/-m (and add the missing tests).

utimensat takes atime in [0] and mtime in [1], but since we're overwriting
with UTIME_OMIT, we actually want to flip the comparison so -a blats 1 and
-m blats 0.
diff --git a/tests/touch.test b/tests/touch.test
index 263e9a0..da6fe99 100755
--- a/tests/touch.test
+++ b/tests/touch.test
@@ -64,9 +64,15 @@
   "touch -t 2101231234 input && date +%Y-%m-%d:%H-%M-%S -r input" \
   "$(date +%C)21-01-23:12-34-00\n" "" ""
 
+testing "-a" "touch -t 197101020304 walrus &&
+    touch -t 197203040506 -a walrus && stat -c '%X %Y' walrus" \
+    "68562360 31662240\n" "" ""
+testing "-m" "touch -t 197101020304  walrus &&
+    touch -t 197203040506 -m walrus && stat -c '%X %Y' walrus" \
+    "31662240 68562360\n" "" ""
+testing "-am" "touch -t 197101020304 walrus &&
+    touch -t 197203040506 -am walrus && stat -c '%X %Y' walrus" \
+    "68562360 68562360\n" "" ""
 
-#testing "-a"
-#testing "-m"
-#testing "-am"
 #testing "-t"
 rm walrus walrus2
diff --git a/toys/posix/touch.c b/toys/posix/touch.c
index 79eba17..214d6cf 100644
--- a/toys/posix/touch.c
+++ b/toys/posix/touch.c
@@ -111,7 +111,7 @@
 
   // Which time(s) should we actually change?
   i = toys.optflags & (FLAG_a|FLAG_m);
-  if (i && i!=(FLAG_a|FLAG_m)) ts[i==FLAG_m].tv_nsec = UTIME_OMIT;
+  if (i && i!=(FLAG_a|FLAG_m)) ts[i!=FLAG_m].tv_nsec = UTIME_OMIT;
 
   // Loop through files on command line
   for (ss = toys.optargs; *ss;) {