Convert do_printstat to a template function

* printstat.h: New file.
* Makefile.am (strace_SOURCES): Add it.
* file.c: Include "printstat.h".
(do_printstat): Move to printstat.h, parametrize its name
and struct stat.
diff --git a/file.c b/file.c
index 3886958..f4ff3ef 100644
--- a/file.c
+++ b/file.c
@@ -372,65 +372,7 @@
 }
 #endif /* POWERPC64 */
 
-static void
-do_printstat(struct tcb *tcp, struct stat *statbuf)
-{
-	if (!abbrev(tcp)) {
-		tprintf("{st_dev=makedev(%u, %u), st_ino=%llu, st_mode=%s, ",
-			(unsigned int) major(statbuf->st_dev),
-			(unsigned int) minor(statbuf->st_dev),
-			(unsigned long long) statbuf->st_ino,
-			sprintmode(statbuf->st_mode));
-		tprintf("st_nlink=%u, st_uid=%u, st_gid=%u, ",
-			(unsigned int) statbuf->st_nlink,
-			(unsigned int) statbuf->st_uid,
-			(unsigned int) statbuf->st_gid);
-#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
-		tprintf("st_blksize=%u, ", (unsigned int) statbuf->st_blksize);
-#endif
-#ifdef HAVE_STRUCT_STAT_ST_BLOCKS
-		tprintf("st_blocks=%llu, ",
-			(unsigned long long) statbuf->st_blocks);
-#endif
-	}
-	else
-		tprintf("{st_mode=%s, ", sprintmode(statbuf->st_mode));
-	switch (statbuf->st_mode & S_IFMT) {
-	case S_IFCHR: case S_IFBLK:
-#ifdef HAVE_STRUCT_STAT_ST_RDEV
-		tprintf("st_rdev=makedev(%u, %u), ",
-			(unsigned int) major(statbuf->st_rdev),
-			(unsigned int) minor(statbuf->st_rdev));
-#else /* !HAVE_STRUCT_STAT_ST_RDEV */
-		tprintf("st_size=makedev(%u, %u), ",
-			(unsigned int) major(statbuf->st_size),
-			(unsigned int) minor(statbuf->st_size));
-#endif /* !HAVE_STRUCT_STAT_ST_RDEV */
-		break;
-	default:
-		tprintf("st_size=%llu, ",
-			(unsigned long long) statbuf->st_size);
-		break;
-	}
-	if (!abbrev(tcp)) {
-		tprintf("st_atime=%s, ", sprinttime(statbuf->st_atime));
-		tprintf("st_mtime=%s, ", sprinttime(statbuf->st_mtime));
-		tprintf("st_ctime=%s", sprinttime(statbuf->st_ctime));
-#if HAVE_STRUCT_STAT_ST_FLAGS
-		tprintf(", st_flags=%u", (unsigned int) statbuf->st_flags);
-#endif
-#if HAVE_STRUCT_STAT_ST_FSTYPE
-		tprintf(", st_fstype=%.*s",
-			(int) sizeof statbuf->st_fstype, statbuf->st_fstype);
-#endif
-#if HAVE_STRUCT_STAT_ST_GEN
-		tprintf(", st_gen=%u", (unsigned int) statbuf->st_gen);
-#endif
-		tprints("}");
-	}
-	else
-		tprints("...}");
-}
+#include "printstat.h"
 
 #ifndef X32
 static void