Commit 5440906f by Ramsay Jones Committed by Andreas Ericsson

msvc: Fix some compiler warnings

In particular, the compiler issues the following warnings:

    src/revobject.c(29) : warning C4305: 'initializing' : truncation \
        from 'double' to 'const float'
    src/revobject.c(56) : warning C4244: '=' : conversion from \
        'const float' to 'unsigned int', possible loss of data
    src/revobject.c(149) : warning C4244: '=' : conversion from \
        'const float' to 'unsigned int', possible loss of data

In order to suppress the warnings we change the type of max_load_factor
to double, rather than change the initialiser to 0.65f, and cast the
result type of the expressions to 'unsigned int' as expected by the
assignment operators. Note that double should be able to represent all
unsigned int values without loss.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Andreas Ericsson <ae@op5.se>
parent 8a7d625f
......@@ -26,7 +26,7 @@
#include "common.h"
#include "revobject.h"
const float max_load_factor = 0.65;
const double max_load_factor = 0.65;
unsigned int git_revpool_table__hash(const git_oid *id)
{
......@@ -53,7 +53,7 @@ git_revpool_table *git_revpool_table_create(unsigned int min_size)
table->size_mask = min_size;
table->count = 0;
table->max_count = (min_size + 1) * max_load_factor;
table->max_count = (unsigned int)((min_size + 1) * max_load_factor);
table->nodes = git__malloc((min_size + 1) * sizeof(git_revpool_node *));
......@@ -146,7 +146,7 @@ void git_revpool_table_resize(git_revpool_table *table)
free(table->nodes);
table->nodes = new_nodes;
table->size_mask = (new_size - 1);
table->max_count = new_size * max_load_factor;
table->max_count = (unsigned int)(new_size * max_load_factor);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment