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

[GSoC][PATCH v4 2/4] dir: add directory_exists

From
Devin Lehmacher <lehmacdj@gmail.com>
Date
Mar 16, 2017, 05:18 UTC
Message-ID
<20170316051827.97198-3-lehmacdj@gmail.com>
In-Reply-To
<20170316051827.97198-1-lehmacdj@gmail.com>

file_exists currently only does an lstat to see if anything is at the path. For some purposes it would be better to ensure that a path is a certain type of file. Add function directory_exists that checks if a path exists and is a directory.

Signed-off-by: Devin Lehmacher <lehmacdj@gmail.com>
---
 dir.c | 7 +++++++
 dir.h | 1 +
 2 files changed, 8 insertions(+)
diff --git a/dir.c b/dir.c
index aeeb5ce10..f6c23ecd2 100644
--- a/dir.c
+++ b/dir.c
@@ -2055,6 +2055,13 @@ int file_exists(const char *f)
 	return lstat(f, &sb) == 0;
 }
 
+int directory_exists(const char *path)
+{
+	struct stat sb;
+	int ret = lstat(path, &sb);
+	return ret == 0 && S_ISDIR(sb.st_mode);
+}
+
 static int cmp_icase(char a, char b)
 {
 	if (a == b)
diff --git a/dir.h b/dir.h
index bf23a470a..9f8278795 100644
--- a/dir.h
+++ b/dir.h
@@ -247,6 +247,7 @@ extern void add_exclude(const char *string, const char *base,
 extern void clear_exclude_list(struct exclude_list *el);
 extern void clear_directory(struct dir_struct *dir);
 extern int file_exists(const char *);
+extern int directory_exists(const char *);
 
 extern int is_inside_dir(const char *dir);
 extern int dir_inside_of(const char *subdir, const char *dir);
-- 
2.11.0
Previous: Jeff KingNext: Junio C Hamano
Message 37 of 54 in “Move ~/.git-credential-cache to ~/.cache/git”
  1. Devin LehmacherMar 13, 2017
  2. [GSoC][PATCH 1/3] path.c: Add xdg_cache_home to get paths under XDG_CACHE_HOMEDevin Lehmacher, Mar 13, 2017
  3. Jeff KingMar 13, 2017
  4. Devin LehmacherMar 13, 2017
  5. [GSoC][PATCH 3/3] Update documentation to reflect new socket locationDevin Lehmacher, Mar 13, 2017
  6. Junio C HamanoMar 13, 2017
  7. [GSoC][PATCH v2 2/2] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 13, 2017
  8. [GSoC][PATCH v2 1/2] path.c: add xdg_cache_homeDevin Lehmacher, Mar 13, 2017
  9. [GSoC][PATCH v2 2/2] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 13, 2017
  10. Junio C HamanoMar 13, 2017
  11. [GSoC][PATCH/RFC v3 0/3] Fix commit messages, check if socket is socketDevin Lehmacher, Mar 14, 2017
  12. [GSoC][PATCH/RFC v3 3/3] credential-cache: only use user_socket if a socketDevin Lehmacher, Mar 14, 2017
  13. Devin LehmacherMar 14, 2017
  14. Brandon WilliamsMar 14, 2017
  15. Devin LehmacherMar 14, 2017
  16. Brandon WilliamsMar 14, 2017
  17. Junio C HamanoMar 14, 2017
  18. Junio C HamanoMar 14, 2017
  19. Devin LehmacherMar 14, 2017
  20. [GSoC][PATCH v4 0/4] Moving credential-cache socket to xdg pathDevin Lehmacher, Mar 16, 2017
  21. [GSoC][PATCH v4 1/4] path.c: add xdg_cache_homeDevin Lehmacher, Mar 16, 2017
  22. [GSoC][PATCH v4 4/4] credential-cache: add tests for XDG functionalityDevin Lehmacher, Mar 16, 2017
  23. Junio C HamanoMar 16, 2017
  24. Jeff KingMar 16, 2017
  25. [GSoC][PATCH v5 1/3] path.c: add xdg_cache_homeDevin Lehmacher, Mar 17, 2017
  26. [GSoC][PATCH v5 2/3] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 17, 2017
  27. Ramsay JonesMar 17, 2017
  28. Devin LehmacherMar 17, 2017
  29. [GSoC][PATCH v5 3/3] credential-cache: add tests for XDG functionalityDevin Lehmacher, Mar 17, 2017
  30. Junio C HamanoMar 17, 2017
  31. [GSoC][PATCH v6 1/3] path.c: add xdg_cache_homeDevin Lehmacher, Mar 17, 2017
  32. [GSoC][PATCH v6 2/3] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 17, 2017
  33. Jeff KingMar 17, 2017
  34. [GSoC][PATCH v6 3/3] credential-cache: add tests for XDG functionalityDevin Lehmacher, Mar 17, 2017
  35. Jeff KingMar 17, 2017
  36. Jeff KingMar 17, 2017
  37. [GSoC][PATCH v4 2/4] dir: add directory_existsDevin Lehmacher, Mar 16, 2017
  38. Junio C HamanoMar 16, 2017
  39. Junio C HamanoMar 16, 2017
  40. [GSoC][PATCH v4 3/4] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 16, 2017
  41. Junio C HamanoMar 16, 2017
  42. Jeff KingMar 16, 2017
  43. [GSoC][PATCH/RFC v3 2/3] credential-cache: use XDG_CACHE_HOME for socketDevin Lehmacher, Mar 14, 2017
  44. Junio C HamanoMar 14, 2017
  45. [GSoC][PATCH/RFC v3 1/3] path.c: add xdg_cache_homeDevin Lehmacher, Mar 14, 2017
  46. Junio C HamanoMar 13, 2017
  47. [GSoC][PATCH 2/3] credential-cache.c: Make git use XDG_CACHE_HOME for credentialsDevin Lehmacher, Mar 13, 2017
  48. Junio C HamanoMar 13, 2017
  49. Jeff KingMar 13, 2017
  50. Junio C HamanoMar 13, 2017
  51. Devin LehmacherMar 13, 2017
  52. Devin LehmacherMar 13, 2017
  53. Junio C HamanoMar 13, 2017
  54. Jeff KingMar 13, 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.