git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/5] sha1dc: adjust header includes for git

From
Jeff King <peff@peff.net>
Date
Mar 16, 2017, 22:08 UTC
Message-ID
<20170316220810.orlbvop53fj4g5wg@sigill.intra.peff.net>
In-Reply-To
<20170316220456.m4yz2kbvzv6waokn@sigill.intra.peff.net>

We can replace system includes with git-compat-util.h or cache.h (and should make sure it is included first in all C files). And we can drop includes from headers entirely, as every C file should include git-compat-util.h itself.

We will add in new include guards around the header files, though (otherwise you get into trouble including both sha1dc/sha1.h and cache.h).

And finally, we'll use the full "sha1dc/" path for including related files. This isn't strictly necessary, but makes the expected resolution more obvious.

Signed-off-by: Jeff King <peff@peff.net>
---
The cache.h thing is necessary if we want to use sha1_to_hex() later
(which I think we should).
 sha1dc/sha1.c      | 10 +++-------
 sha1dc/sha1.h      |  6 ++++--
 sha1dc/ubc_check.c |  4 ++--
 sha1dc/ubc_check.h |  2 --
 4 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
index 8d12b832b..da516c14c 100644
--- a/sha1dc/sha1.c
+++ b/sha1dc/sha1.c
@@ -5,13 +5,9 @@
 * https://opensource.org/licenses/MIT
 ***/
 
-#include <string.h>
-#include <memory.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "sha1.h"
-#include "ubc_check.h"
+#include "cache.h"
+#include "sha1dc/sha1.h"
+#include "sha1dc/ubc_check.h"
 
 
 /* 
diff --git a/sha1dc/sha1.h b/sha1dc/sha1.h
index e867724c0..8a5bf0847 100644
--- a/sha1dc/sha1.h
+++ b/sha1dc/sha1.h
@@ -4,13 +4,13 @@
 * See accompanying file LICENSE.txt or copy at
 * https://opensource.org/licenses/MIT
 ***/
+#ifndef SHA1DC_SHA1_H
+#define SHA1DC_SHA1_H
 
 #if defined(__cplusplus)
 extern "C" {
 #endif
 
-#include <stdint.h>
-
 /* uses SHA-1 message expansion to expand the first 16 words of W[] to 80 words */
 /* void sha1_message_expansion(uint32_t W[80]); */
 
@@ -103,3 +103,5 @@ int  SHA1DCFinal(unsigned char[20], SHA1_CTX*);
 #if defined(__cplusplus)
 }
 #endif
+
+#endif /* SHA1DC_SHA1_H */
diff --git a/sha1dc/ubc_check.c b/sha1dc/ubc_check.c
index 27d0976da..089dd4743 100644
--- a/sha1dc/ubc_check.c
+++ b/sha1dc/ubc_check.c
@@ -24,8 +24,8 @@
 // ubc_check has been verified against ubc_check_verify using the 'ubc_check_test' program in the tools section
 */
 
-#include <stdint.h>
-#include "ubc_check.h"
+#include "git-compat-util.h"
+#include "sha1dc/ubc_check.h"
 
 static const uint32_t DV_I_43_0_bit 	= (uint32_t)(1) << 0;
 static const uint32_t DV_I_44_0_bit 	= (uint32_t)(1) << 1;
diff --git a/sha1dc/ubc_check.h b/sha1dc/ubc_check.h
index b349bed92..b64c306d7 100644
--- a/sha1dc/ubc_check.h
+++ b/sha1dc/ubc_check.h
@@ -27,8 +27,6 @@
 extern "C" {
 #endif
 
-#include <stdint.h>
-
 #define DVMASKSIZE 1
 typedef struct { int dvType; int dvK; int dvB; int testt; int maski; int maskb; uint32_t dm[80]; } dv_info_t;
 extern dv_info_t sha1_dvs[];
-- 
2.12.0.623.g86ec6c963
Previous: Jeff KingNext: Jeff King
Message 3 of 20 in “Re-integrate sha1dc”
  1. 0/2 Re-integrate sha1dcLinus Torvalds, Mar 16, 2017
  2. Jeff KingMar 16, 2017
  3. 2/5 sha1dc: adjust header includes for gitJeff King, Mar 16, 2017
  4. 3/5 sha1dc: disable safe_hash featureJeff King, Mar 16, 2017
  5. 4/5 Makefile: add USE_SHA1DC knobJeff King, Mar 16, 2017
  6. Junio C HamanoMar 16, 2017
  7. Jeff KingMar 17, 2017
  8. Junio C HamanoMar 17, 2017
  9. Jeff KingMar 17, 2017
  10. 0/3 Git integration update for DC-SHA1Junio C Hamano, Mar 17, 2017
  11. 1/3 Makefile: add DC_SHA1 knobJunio C Hamano, Mar 17, 2017
  12. 3/3 Makefile: make DC_SHA1 the defaultJunio C Hamano, Mar 17, 2017
  13. Junio C HamanoMar 17, 2017
  14. Jeff KingMar 17, 2017
  15. Jeff KingMar 16, 2017
  16. Junio C HamanoMar 16, 2017
  17. Jeff KingMar 17, 2017
  18. Junio C HamanoMar 17, 2017
  19. Jeff KingMar 17, 2017
  20. Linus TorvaldsMar 16, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.