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

[PATCH] diff.c: fix pointer type warning

From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Date
Dec 19, 2008, 22:10 UTC
Message-ID
<494C1BE8.20607@lsrfire.ath.cx>
In-Reply-To
<20081218121118.3635c53c@crow>

As Mark Burton noted, the conversion to strbuf_readlink() caused a compile warning on some architectures:

> diff.c: In function ‘diff_populate_filespec’:
> diff.c:1781: warning: passing argument 2 of ‘strbuf_detach’ from incompatible pointer type

A pointer to an unsigned long is given while a pointer to a size_t is expected; the two types are not considered to be equivalent everywhere.

The real fix would be to change the type of the size member of struct diff_filespec to size_t, but that would cause other warnings in connection with functions expecting unsigned long, and attempts to fix them might loose an avalanche of changes. Later. This patch just silences the warning by adding an (implicit) casting step.

Reported-by: Mark Burton <markb@ordern.com>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
---
 diff.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/diff.c b/diff.c
index f160c1a..0484601 100644
--- a/diff.c
+++ b/diff.c
@@ -1778,7 +1778,8 @@ int diff_populate_filespec(struct diff_filespec *s, int size_only)
 
 			if (strbuf_readlink(&sb, s->path, s->size))
 				goto err_empty;
-			s->data = strbuf_detach(&sb, &s->size);
+			s->size = sb.len;
+			s->data = strbuf_detach(&sb, NULL);
 			s->should_free = 1;
 			return 0;
 		}
Previous: René ScharfeNext: Junio C Hamano
Message 20 of 33 in “Be careful about lstat()-vs-readlink()”
  1. 0/5 Be careful about lstat()-vs-readlink()Linus Torvalds, Dec 17, 2008
  2. 1/5 Add generic 'strbuf_readlink()' helper functionLinus Torvalds, Dec 17, 2008
  3. 2/5 Make 'ce_compare_link()' use the new 'strbuf_readlink()'Linus Torvalds, Dec 17, 2008
  4. 3/5 Make 'index_path()' use 'strbuf_readlink()'Linus Torvalds, Dec 17, 2008
  5. 4/5 Make 'diff_populate_filespec()' use the new 'strbuf_readlink()'Linus Torvalds, Dec 17, 2008
  6. 5/5 Make 'prepare_temp_file()' ignore st_size for symlinksLinus Torvalds, Dec 17, 2008
  7. 6/5 make_absolute_path(): check bounds when seeing an overlong symlinkJunio C Hamano, Dec 17, 2008
  8. 7/5 builtin-blame.c: use strbuf_readlink()Junio C Hamano, Dec 17, 2008
  9. 8/5 combine-diff.c: use strbuf_readlink()Junio C Hamano, Dec 17, 2008
  10. Linus TorvaldsDec 17, 2008
  11. Junio C HamanoDec 17, 2008
  12. Junio C HamanoDec 17, 2008
  13. Mark BurtonDec 18, 2008
  14. Linus TorvaldsDec 18, 2008
  15. René ScharfeDec 18, 2008
  16. Linus TorvaldsDec 18, 2008
  17. Olivier GalibertDec 18, 2008
  18. René ScharfeDec 18, 2008
  19. René ScharfeDec 18, 2008
  20. diff.c: fix pointer type warningRené Scharfe, Dec 19, 2008
  21. Junio C HamanoDec 19, 2008
  22. Junio C HamanoDec 17, 2008
  23. Jay SoffianDec 17, 2008
  24. Linus TorvaldsDec 17, 2008
  25. strbuf_readlink semantics update.Pierre Habouzit, Dec 23, 2008
  26. Pierre HabouzitDec 23, 2008
  27. Linus TorvaldsDec 23, 2008
  28. Pierre HabouzitDec 24, 2008
  29. René ScharfeDec 24, 2008
  30. Junio C HamanoDec 25, 2008
  31. Pierre HabouzitJan 4, 2009
  32. strbuf: instate cleanup rule in case of non-memory errorsRené Scharfe, Jan 6, 2009
  33. Junio C HamanoJan 7, 2009

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.