+
+ /*
+ * Go back, and remove crud from the end: some people
+ * have commas etc in their gecos field
+ */
+ dst--;
+ while (--dst >= p) {
+ unsigned char c = *dst;
+ switch (c) {
+ case ',': case ';': case '.':
+ *dst = 0;
+ continue;
+ }
+ break;
+ }
+}
+
+static void check_valid(unsigned char *sha1, const char *expect)
+{
+ void *buf;
+ char type[20];
+ unsigned long size;
+
+ buf = read_sha1_file(sha1, type, &size);
+ if (!buf || strcmp(type, expect))
+ die("%s is not a valid '%s' object", sha1_to_hex(sha1), expect);
+ free(buf);