Index: src/add.c
===================================================================
--- src/add.c
+++ src/add.c
@@ -188,12 +188,12 @@
       }else if( file_isfile(zPath) ){
         db_multi_exec("INSERT INTO sfile VALUES(%Q)", zPath);
       }
       blob_resize(&path, origSize);
     }
+    closedir(d);
   }
-  closedir(d);
   blob_reset(&path);
 }
 
 /*
 ** Add all content of a directory.
@@ -321,12 +321,12 @@
         }
         blob_reset(&pathname);
       }
       blob_resize(&path, origSize);
     }
+    closedir(d);
   }
-  closedir(d);
   blob_reset(&path);
 }
 
 /*
 ** COMMAND: rm

Index: src/rebuild.c
===================================================================
--- src/rebuild.c
+++ src/rebuild.c
@@ -592,21 +592,22 @@
         recon_read_dir(zSubpath);
       }
       blob_init(&path, 0, 0);
       blob_appendf(&path, "%s", zSubpath);
       if( blob_read_from_file(&aContent, blob_str(&path))==-1 ){
-        fossil_panic("some unknown error occurred while reading \"%s\"", 
+        fossil_panic("some unknown error occurred while reading \"%s\"",
                      blob_str(&path));
       }
       content_put(&aContent, 0, 0, 0);
       blob_reset(&path);
       blob_reset(&aContent);
       free(zSubpath);
       printf("\r%d", ++nFileRead);
       fflush(stdout);
     }
-  }else {
+    closedir(d);
+  } else {
     fossil_panic("encountered error %d while trying to open \"%s\".",
                   errno, g.argv[3]);
   }
 }
 

Index: src/vfile.c
===================================================================
--- src/vfile.c
+++ src/vfile.c
@@ -310,12 +310,12 @@
       }else if( file_isfile(zPath) && !db_exists(zSql, &zPath[nPrefix+1]) ){
         db_multi_exec("INSERT INTO sfile VALUES(%Q)", &zPath[nPrefix+1]);
       }
       blob_resize(pPath, origSize);
     }
+    closedir(d);
   }
-  closedir(d);
 }
 
 /*
 ** Compute an aggregate MD5 checksum over the disk image of every
 ** file in vid.  The file names are part of the checksum.  The resulting

Index: www/copyright-release.html
===================================================================
--- www/copyright-release.html
+++ www/copyright-release.html
@@ -2,15 +2,14 @@
 Assignment of Copyright for<br>
 Contributions To The Fossil SCM
 </h1>
 
 <p>
-This Agreement is made between Hipp, Wyrick &amp; Company, Inc., a
-Georgia corporation with headquarters at 6200 Maple Cove Lane, Charlotte, NC,
-(hereafter "Hwaci")
-and <font color="blue">NAME AND ADDRESS OF PROGRAMMER</font> (hereafter
-"Programmer").
+This Agreement is made between Hipp, Wyrick &amp; Company, Inc., a Georgia
+corporation with headquarters at 6200 Maple Cove Lane, Charlotte, NC,
+(hereafter "Hwaci") and Sean Chittenden, an individual with residence at 239
+Villa Ter #4, San Mateo, CA 94401 (hereafter "Programmer").
 </p>
 
 <p>For valuable consideration, receipt and sufficiency of which are hereby
 acknowledged, Programmer and Hwaci agree as follows:
 </p>
@@ -38,26 +37,26 @@
 this Agreement.
 </ol>
 
 <p>
 In witness whereof, the parties have executed this Agreement, 
-effective this <font color="blue">YYYY-MM-DD</font>
+effective this 8th of February, 2011 (2011-02-08).
 
 <p><table width="100%" border="0">
-<tr><td valign="top">
+<tr><td valign="top" width="40%">
 HWACI<br>
 By:<hr>
 <p>&nbsp;</p>
 Print Name:<hr>
 <p>&nbsp;</p>
 Title:<hr>
 <p>&nbsp;</p>
-</td><td width="10%"></td>
+</td><td width="50px"></td>
 <td valign="top">
 PROGRAMMER<br>
 By:<hr>
 <p>&nbsp;</p>
-Print Name:<hr>
-<p>&nbsp;</p>
-Title:<hr>
-<p>&nbsp;</p>
+<p>Print Name: <u>Sean Chittenden</u></p>
+<p>Title: Self</p>
+<p>Email: <code>sean@chittenden.org</code></p>
+<p>PGP Key fingerprint: <code>D122 3D5C A7B9 3427 5A04  C7D4 4EBC 9DC1 6C2E 5E16</code></p>
 </td></tr></table>

