From 0776de1ae66551457c6ee85df58f727cbf6dde7e Mon Sep 17 00:00:00 2001
From: jD91mZM2 <me@krake.one>
Date: Tue, 26 Jun 2018 11:09:49 +0200
Subject: [PATCH] Fix inttypes

---
 include/bits/inttypes.h       | 148 +++++++++++++++++-----------------
 include/bits/{ => sys}/stat.h |   0
 src/sys_stat/cbindgen.toml    |   2 +-
 src/sys_time/cbindgen.toml    |   1 +
 4 files changed, 76 insertions(+), 75 deletions(-)
 rename include/bits/{ => sys}/stat.h (100%)

diff --git a/include/bits/inttypes.h b/include/bits/inttypes.h
index 20e998c8d..c1a7cf4bf 100644
--- a/include/bits/inttypes.h
+++ b/include/bits/inttypes.h
@@ -1,109 +1,109 @@
 #ifndef _BITS_INTTYPE_H
 #define _BITS_INTTYPE_H
 
-#define PRId8  "i"
-#define PRId16 "i"
-#define PRId32 "i"
-#define PRId64 "i"
-
-#define PRIdLEAST8  "i"
-#define PRIdLEAST16 "i"
-#define PRIdLEAST32 "i"
-#define PRIdLEAST64 "i"
-
-#define PRIdFAST8  "i"
-#define PRIdFAST16 "i"
-#define PRIdFAST32 "i"
-#define PRIdFAST64 "i"
-
-#define PRIi8  "i"
-#define PRIi16 "i"
+#define PRId8  "hhd"
+#define PRId16 "hd"
+#define PRId32 "d"
+#define PRId64 "ld"
+
+#define PRIdLEAST8  "hhd"
+#define PRIdLEAST16 "hd"
+#define PRIdLEAST32 "d"
+#define PRIdLEAST64 "ld"
+
+#define PRIdFAST8  "hhd"
+#define PRIdFAST16 "hd"
+#define PRIdFAST32 "d"
+#define PRIdFAST64 "ld"
+
+#define PRIi8  "hhi"
+#define PRIi16 "hi"
 #define PRIi32 "i"
-#define PRIi64 "i"
+#define PRIi64 "li"
 
-#define PRIiLEAST8  "i"
-#define PRIiLEAST16 "i"
+#define PRIiLEAST8  "hhi"
+#define PRIiLEAST16 "hi"
 #define PRIiLEAST32 "i"
-#define PRIiLEAST64 "i"
+#define PRIiLEAST64 "li"
 
-#define PRIiFAST8  "i"
-#define PRIiFAST16 "i"
+#define PRIiFAST8  "hhi"
+#define PRIiFAST16 "hi"
 #define PRIiFAST32 "i"
-#define PRIiFAST64 "i"
+#define PRIiFAST64 "li"
 
-#define PRIo8  "o"
-#define PRIo16 "o"
+#define PRIo8  "hho"
+#define PRIo16 "ho"
 #define PRIo32 "o"
-#define PRIo64 "o"
+#define PRIo64 "lo"
 
-#define PRIoLEAST8  "o"
-#define PRIoLEAST16 "o"
+#define PRIoLEAST8  "hho"
+#define PRIoLEAST16 "ho"
 #define PRIoLEAST32 "o"
-#define PRIoLEAST64 "o"
+#define PRIoLEAST64 "lo"
 
-#define PRIoFAST8  "o"
-#define PRIoFAST16 "o"
+#define PRIoFAST8  "hho"
+#define PRIoFAST16 "ho"
 #define PRIoFAST32 "o"
-#define PRIoFAST64 "o"
+#define PRIoFAST64 "lo"
 
-#define PRIu8  "u"
-#define PRIu16 "u"
+#define PRIu8  "hhu"
+#define PRIu16 "hu"
 #define PRIu32 "u"
-#define PRIu64 "u"
+#define PRIu64 "lu"
 
-#define PRIuLEAST8  "u"
-#define PRIuLEAST16 "u"
+#define PRIuLEAST8  "hhu"
+#define PRIuLEAST16 "hu"
 #define PRIuLEAST32 "u"
-#define PRIuLEAST64 "u"
+#define PRIuLEAST64 "lu"
 
-#define PRIuFAST8  "u"
-#define PRIuFAST16 "u"
+#define PRIuFAST8  "hhu"
+#define PRIuFAST16 "hu"
 #define PRIuFAST32 "u"
-#define PRIuFAST64 "u"
+#define PRIuFAST64 "lu"
 
-#define PRIx8  "x"
-#define PRIx16 "x"
+#define PRIx8  "hhx"
+#define PRIx16 "hx"
 #define PRIx32 "x"
-#define PRIx64 "x"
+#define PRIx64 "lx"
 
-#define PRIxLEAST8  "x"
-#define PRIxLEAST16 "x"
+#define PRIxLEAST8  "hhx"
+#define PRIxLEAST16 "hx"
 #define PRIxLEAST32 "x"
-#define PRIxLEAST64 "x"
+#define PRIxLEAST64 "lx"
 
-#define PRIxFAST8  "x"
-#define PRIxFAST16 "x"
+#define PRIxFAST8  "hhx"
+#define PRIxFAST16 "hx"
 #define PRIxFAST32 "x"
-#define PRIxFAST64 "x"
+#define PRIxFAST64 "lx"
 
-#define PRIX8  "X"
-#define PRIX16 "X"
+#define PRIX8  "hhX"
+#define PRIX16 "hX"
 #define PRIX32 "X"
-#define PRIX64 "X"
+#define PRIX64 "lX"
 
-#define PRIXLEAST8  "X"
-#define PRIXLEAST16 "X"
+#define PRIXLEAST8  "hhX"
+#define PRIXLEAST16 "hX"
 #define PRIXLEAST32 "X"
-#define PRIXLEAST64 "X"
+#define PRIXLEAST64 "lX"
 
-#define PRIXFAST8  "X"
-#define PRIXFAST16 "X"
+#define PRIXFAST8  "hhX"
+#define PRIXFAST16 "hX"
 #define PRIXFAST32 "X"
-#define PRIXFAST64 "X"
-
-#define PRIdMAX "d"
-#define PRIiMAX "i"
-#define PRIoMAX "o"
-#define PRIuMAX "u"
-#define PRIxMAX "x"
-#define PRIXMAX "X"
-
-#define PRIdPTR "d"
-#define PRIiPTR "i"
-#define PRIoPTR "o"
-#define PRIuPTR "u"
-#define PRIxPTR "x"
-#define PRIXPTR "X"
+#define PRIXFAST64 "lX"
+
+#define PRIdMAX "jd"
+#define PRIiMAX "ji"
+#define PRIoMAX "jo"
+#define PRIuMAX "ju"
+#define PRIxMAX "jx"
+#define PRIXMAX "jX"
+
+#define PRIdPTR "td"
+#define PRIiPTR "ti"
+#define PRIoPTR "to"
+#define PRIuPTR "tu"
+#define PRIxPTR "tx"
+#define PRIXPTR "tX"
 
 #define SCNd8  "hhd"
 #define SCNd16 "hd"
diff --git a/include/bits/stat.h b/include/bits/sys/stat.h
similarity index 100%
rename from include/bits/stat.h
rename to include/bits/sys/stat.h
diff --git a/src/sys_stat/cbindgen.toml b/src/sys_stat/cbindgen.toml
index cf9eef50c..538e25278 100644
--- a/src/sys_stat/cbindgen.toml
+++ b/src/sys_stat/cbindgen.toml
@@ -1,6 +1,6 @@
 sys_includes = ["sys/types.h"]
 include_guard = "_SYS_STAT_H"
-trailer = "#include <bits/stat.h>"
+trailer = "#include <bits/sys/stat.h>"
 language = "C"
 style = "Tag"
 
diff --git a/src/sys_time/cbindgen.toml b/src/sys_time/cbindgen.toml
index bc1c13152..8ce5b2b40 100644
--- a/src/sys_time/cbindgen.toml
+++ b/src/sys_time/cbindgen.toml
@@ -1,6 +1,7 @@
 sys_includes = ["sys/types.h"]
 include_guard = "_SYS_TIME_H"
 language = "C"
+style = "Tag"
 
 [enum]
 prefix_with_name = true
-- 
GitLab