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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html