Author: colin
Date: 2008-03-07 17:27:20 +0100 (Fri, 07 Mar 2008)
New Revision: 986

Modified:
   trunk/Mix/Src/maildir.c
Log:
Fix "assert" statements that had side effects


Modified: trunk/Mix/Src/maildir.c
===================================================================
--- trunk/Mix/Src/maildir.c     2008-03-07 15:10:13 UTC (rev 985)
+++ trunk/Mix/Src/maildir.c     2008-03-07 16:27:20 UTC (rev 986)
@@ -251,10 +251,6 @@
 
 #ifdef UNITTEST
 
-#ifdef NDEBUG
-#undef NDEBUG
-#endif /* NDEBUG */
-
 #include <dirent.h>
 
 /* mock-up of errlog for unittest */
@@ -270,7 +266,7 @@
 /* main for unittest */
 int main()
 {
-  int i, count = 23;
+  int i, j, maildirWriteRes, count = 23;
   int fd;
   DIR *d;
   struct dirent *de;
@@ -283,11 +279,14 @@
   message.length = strlen(text);
 
   /* write <count> messages to maildir */
-  for(i = 0; i < count; i++)
-    assert(maildirWrite("Maildir.test_maildir", message, 1) == 0);
+  for(i = 0; i < count; i++) {
+    maildirWriteRes = maildirWrite("Maildir.test_maildir", message, 1);
+    assert(maildirWriteRes == 0);
+  }
 
   /* read them back */
-  assert((d = opendir("Maildir.test_maildir/new")) != NULL);
+  d = opendir("Maildir.test_maildir/new");
+  assert(d != NULL);
   for (i = 0; i < count + 2; i++)
     {
       de = readdir(d);
@@ -297,8 +296,10 @@
          strcat(buf, "Maildir.test_maildir/new/");
          strcat(buf, de->d_name);
          fd = open(buf, O_RDONLY);
-         assert(unlink(buf) == 0);
-         assert(read(fd, buf, strlen(text)) == strlen(text));
+         j = unlink(buf);
+         assert(j == 0);
+         j = read(fd, buf, strlen(text));
+         assert(j == strlen(text));
          buf[strlen(text)] = '\0';
          /* check if they match the original message */
          assert(strcmp(text, buf) == 0);
@@ -310,12 +311,16 @@
   assert(readdir(d) == NULL);
 
   /* delete maildir */
-  assert(rmdir("Maildir.test_maildir/tmp") == 0);
-  assert(rmdir("Maildir.test_maildir/new") == 0);
-  assert(rmdir("Maildir.test_maildir/cur") == 0);
-  assert(rmdir("Maildir.test_maildir") == 0);
+  j = rmdir("Maildir.test_maildir/tmp");
+  assert(j == 0);
+  j = rmdir("Maildir.test_maildir/new");
+  assert(j == 0);
+  j = rmdir("Maildir.test_maildir/cur");
+  assert(j == 0);
+  j = rmdir("Maildir.test_maildir");
+  assert(j == 0);
 
-  /* check if writing to a non existant maildir yilds an error */
+  /* check if writing to a non existant maildir yields an error */
   assert(maildirWrite("Maildir.test_maildir", &message, 0) == -1);
 
   puts("OK");


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mixmaster-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixmaster-devel

Reply via email to