Skip to contentSkip to conversation

archive-tar: add UL type suffix to unsigned long constant

PATCH In review Ramsay Jones 2 participants 3 messages Jun 17, 2016 – Jun 18, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 archive-tar: add UL type suffix to unsigned long constant

---

Hi Jeff,

If you need to re-roll your 'jk/big-and-old-archive-tar' branch, could you please squash this into the relevant patch (commit 8035a1e3, "archive-tar: write extended headers for far-future mtime", 16-06-2016).

Thanks!

ATB,
Ramsay Jones

 archive-tar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
archive-tar.c +1 -1
index 749722f..c7b85fd 100644
@@ -187,7 +187,7 @@ static inline unsigned long ustar_size(uintmax_t size)
 
 static inline unsigned long ustar_mtime(time_t mtime)
 {
-	if (mtime < 077777777777)
+	if (mtime < 077777777777UL)
 		return mtime;
 	else
 		return 0;
Signature · 1 line
2.9.0
#1 lore raw
Quoted 17 lines · Ramsay Jones

If you need to re-roll your 'jk/big-and-old-archive-tar' branch, could you please squash this into the relevant patch (commit 8035a1e3, "archive-tar: write extended headers for far-future mtime", 16-06-2016).

Thanks!

ATB,
Ramsay Jones

 archive-tar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
archive-tar.c +0 -0
index 749722f..c7b85fd 100644

archive-tar.c static inline unsigned long ustar_size(uintmax_t size) · line 190

Quoted 5 lines
archive-tar.c +1 -1
@@ -187,7 +187,7 @@ static inline unsigned long ustar_size(uintmax_t size)
 
 static inline unsigned long ustar_mtime(time_t mtime)
 {
-	if (mtime < 077777777777)
+	if (mtime < 077777777777UL)

Whoops. I even got it right in the similar line above. :-/

This did make me wonder how the whole thing fares on a system where "unsigned long" is 32-bit (AIUI, Git for Windows is such a system).

The sizes passed around (here and all through git) are "unsigned long", so I don't think we're making anything _worse_.

-Peff

#2 lore raw
Quoted 27 lines · Jeff King
Quoted 17 lines · Ramsay Jones

If you need to re-roll your 'jk/big-and-old-archive-tar' branch, could you please squash this into the relevant patch (commit 8035a1e3, "archive-tar: write extended headers for far-future mtime", 16-06-2016).

Thanks!

ATB,
Ramsay Jones

 archive-tar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
archive-tar.c +0 -0
index 749722f..c7b85fd 100644

archive-tar.c static inline unsigned long ustar_size(uintmax_t size) · line 190

Quoted 5 lines
archive-tar.c +1 -1
@@ -187,7 +187,7 @@ static inline unsigned long ustar_size(uintmax_t size)
 
 static inline unsigned long ustar_mtime(time_t mtime)
 {
-	if (mtime < 077777777777)
+	if (mtime < 077777777777UL)

Whoops. I even got it right in the similar line above. :-/

Quoted 5 lines

This did make me wonder how the whole thing fares on a system where "unsigned long" is 32-bit (AIUI, Git for Windows is such a system).

The sizes passed around (here and all through git) are "unsigned long", so I don't think we're making anything _worse_.

Heh, I had exactly the same thought! ;-)

I have a TODO item that reads: check odb code for object size limitations imposed by using 'unsigned long'. This is a known problem on Git for Windows.

[Not for cygwin, however, since long is 64bit (just like linux). The win32api headers on cygwin have been written in terms of a __LONG32 #define to allow them to be used on LLP64 and LP64 systems.]

However, since I don't have GFW installed, I couldn't actually test it, so ...

ATB,
Ramsay Jones