Skip to content

Commit

Permalink
read_blob_data_from_index(): optionally return the size of blob data
Browse files Browse the repository at this point in the history
This allows for optionally getting the size of the returned data and
will be used in a follow-up patch.

Signed-off-by: Lukas Fleischer <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
Lukas Fleischer authored and gitster committed Apr 17, 2013
1 parent 29fb37b commit ff36682
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 4 deletions.
2 changes: 1 addition & 1 deletion attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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(use_index ? use_index : &the_index, path);
buf = read_blob_data_from_index(use_index ? use_index : &the_index, path, NULL);
if (!buf)
return NULL;

Expand Down
4 changes: 2 additions & 2 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +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))
#define read_blob_data_from_cache(path, sz) read_blob_data_from_index(&the_index, (path), (sz))
#endif

enum object_type {
Expand Down Expand Up @@ -453,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(struct index_state *, const char *);
extern void *read_blob_data_from_index(struct index_state *, const char *, unsigned long *);

/* do stat comparison even if CE_VALID is true */
#define CE_MATCH_IGNORE_VALID 01
Expand Down
4 changes: 3 additions & 1 deletion read-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -1896,7 +1896,7 @@ int index_name_is_other(const struct index_state *istate, const char *name,
return 1;
}

void *read_blob_data_from_index(struct index_state *istate, const char *path)
void *read_blob_data_from_index(struct index_state *istate, const char *path, unsigned long *size)
{
int pos, len;
unsigned long sz;
Expand Down Expand Up @@ -1925,5 +1925,7 @@ void *read_blob_data_from_index(struct index_state *istate, const char *path)
free(data);
return NULL;
}
if (size)
*size = sz;
return data;
}

0 comments on commit ff36682

Please sign in to comment.