Re: [PATCH v2 1/3] Add public function read_blob_data_from_index_path()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks. I'll queue with the following API fix-up on this, with
obvious adjustments necessary for the later ones.

 * read_blob_data_from_index() is descriptive enough. If you read a
   blob from the index, you would ask for it with a path; there is
   no other sensible key to do so.

 * A function in read-cache API that works on an index should have
   the istate as the first argument and called with name "index";

 * If callers want to operate on the default index, macro with a
   similar name but replacing "index" with "cache" can be supplied,
   e.g.

   #define distim_cache(x) distim_index(&the_index, x)
---
 attr.c       | 2 +-
 cache.h      | 3 ++-
 read-cache.c | 4 +---
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/attr.c b/attr.c
index a668a63..46bde57 100644
--- a/attr.c
+++ b/attr.c
@@ -387,7 +387,7 @@ static struct attr_stack *read_attr_from_index(const char *path, int macro_ok)
 	char *buf, *sp;
 	int lineno = 0;
 
-	buf = read_blob_data_from_index_path(path, use_index);
+	buf = read_blob_data_from_index(use_index, path);
 	if (!buf)
 		return NULL;
 
diff --git a/cache.h b/cache.h
index 85ddb13..5d66c74 100644
--- a/cache.h
+++ b/cache.h
@@ -307,6 +307,7 @@ extern void free_name_hash(struct index_state *istate);
 #define resolve_undo_clear() resolve_undo_clear_index(&the_index)
 #define unmerge_cache_entry_at(at) unmerge_index_entry_at(&the_index, at)
 #define unmerge_cache(pathspec) unmerge_index(&the_index, pathspec)
+#define read_blob_data_from_cache(path) read_blob_data_from_index(&the_index, (path))
 #endif
 
 enum object_type {
@@ -452,7 +453,7 @@ extern int add_file_to_index(struct index_state *, const char *path, int flags);
 extern struct cache_entry *make_cache_entry(unsigned int mode, const unsigned char *sha1, const char *path, int stage, int refresh);
 extern int ce_same_name(struct cache_entry *a, struct cache_entry *b);
 extern int index_name_is_other(const struct index_state *, const char *, int);
-extern void *read_blob_data_from_index_path(const char *path, struct index_state *use_index);
+extern void *read_blob_data_from_index(struct index_state *, const char *);
 
 /* do stat comparison even if CE_VALID is true */
 #define CE_MATCH_IGNORE_VALID		01
diff --git a/read-cache.c b/read-cache.c
index cbeb248..48d87e8 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1896,14 +1896,12 @@ int index_name_is_other(const struct index_state *istate, const char *name,
 	return 1;
 }
 
-void *read_blob_data_from_index_path(const char *path,
-				     struct index_state *use_index)
+void *read_blob_data_from_index(struct index_state *istate, const char *path)
 {
 	int pos, len;
 	unsigned long sz;
 	enum object_type type;
 	void *data;
-	struct index_state *istate = use_index ? use_index : &the_index;
 
 	len = strlen(path);
 	pos = index_name_pos(istate, path, len);
-- 
1.8.2.1-514-gf369d36

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]