mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-22 12:08:29 +00:00
Fix type-conversion warnings
The types in the git_index_entry struct are now system-defaults, and get truncated to uint32_t's when written back on the index. Signed-off-by: Vicent Marti <tanoku@gmail.com>
This commit is contained in:
parent
f591833095
commit
a44fc1d413
@ -45,8 +45,8 @@ GIT_BEGIN_DECL
|
||||
|
||||
/** Time used in a git index entry */
|
||||
typedef struct {
|
||||
unsigned int seconds;
|
||||
unsigned int nanoseconds;
|
||||
time_t seconds;
|
||||
time_t nanoseconds;
|
||||
} git_index_time;
|
||||
|
||||
/** Memory representation of a file entry in the index. */
|
||||
@ -59,7 +59,7 @@ typedef struct git_index_entry {
|
||||
unsigned int mode;
|
||||
unsigned int uid;
|
||||
unsigned int gid;
|
||||
unsigned int file_size;
|
||||
off_t file_size;
|
||||
|
||||
git_oid oid;
|
||||
|
||||
|
23
src/index.c
23
src/index.c
@ -61,9 +61,14 @@ struct index_extension {
|
||||
uint32_t extension_size;
|
||||
};
|
||||
|
||||
struct entry_time {
|
||||
uint32_t seconds;
|
||||
uint32_t nanoseconds;
|
||||
};
|
||||
|
||||
struct entry_short {
|
||||
git_index_time ctime;
|
||||
git_index_time mtime;
|
||||
struct entry_time ctime;
|
||||
struct entry_time mtime;
|
||||
uint32_t dev;
|
||||
uint32_t ino;
|
||||
uint32_t mode;
|
||||
@ -76,8 +81,8 @@ struct entry_short {
|
||||
};
|
||||
|
||||
struct entry_long {
|
||||
git_index_time ctime;
|
||||
git_index_time mtime;
|
||||
struct entry_time ctime;
|
||||
struct entry_time mtime;
|
||||
uint32_t dev;
|
||||
uint32_t ino;
|
||||
uint32_t mode;
|
||||
@ -497,10 +502,10 @@ static size_t read_entry(git_index_entry *dest, const void *buffer, size_t buffe
|
||||
|
||||
source = (const struct entry_short *)(buffer);
|
||||
|
||||
dest->ctime.seconds = ntohl(source->ctime.seconds);
|
||||
dest->ctime.nanoseconds = ntohl(source->ctime.nanoseconds);
|
||||
dest->mtime.seconds = ntohl(source->mtime.seconds);
|
||||
dest->mtime.nanoseconds = ntohl(source->mtime.nanoseconds);
|
||||
dest->ctime.seconds = (time_t)ntohl(source->ctime.seconds);
|
||||
dest->ctime.nanoseconds = (time_t)ntohl(source->ctime.nanoseconds);
|
||||
dest->mtime.seconds = (time_t)ntohl(source->mtime.seconds);
|
||||
dest->mtime.nanoseconds = (time_t)ntohl(source->mtime.nanoseconds);
|
||||
dest->dev = ntohl(source->dev);
|
||||
dest->ino = ntohl(source->ino);
|
||||
dest->mode = ntohl(source->mode);
|
||||
@ -692,7 +697,7 @@ int git_index__write(git_index *index, git_filelock *file)
|
||||
return GIT_ENOMEM;
|
||||
|
||||
#define WRITE_WORD(_word) {\
|
||||
uint32_t network_word = htonl((_word));\
|
||||
uint32_t network_word = htonl(((uint32_t)(_word)));\
|
||||
git_filelock_write(file, &network_word, 4);\
|
||||
git_hash_update(digest, &network_word, 4);\
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ static int resize_vector(git_vector *v)
|
||||
{
|
||||
void **new_contents;
|
||||
|
||||
v->_alloc_size *= resize_factor;
|
||||
v->_alloc_size = (unsigned int)(v->_alloc_size * resize_factor);
|
||||
if (v->_alloc_size == 0)
|
||||
v->_alloc_size = minimum_size;
|
||||
|
||||
|
@ -15,7 +15,7 @@ struct test_entry {
|
||||
unsigned int index;
|
||||
char path[128];
|
||||
size_t file_size;
|
||||
uint32_t mtime;
|
||||
time_t mtime;
|
||||
};
|
||||
|
||||
struct test_entry TEST_ENTRIES[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user