• marko's avatar
    branches/zip: Fix most MSVC (Windows) compilation warnings. · c4605a28
    marko authored
    lock_get_table(), locks_row_eq_lock(), buf_page_get_mutex(): Add return
    after ut_error.  On Windows, ut_error is not declared as "noreturn".
    
    Add explicit type casts when assigning ulint to byte to get rid of
    "possible loss of precision" warnings.
    
    struct i_s_table_cache_struct: Declare rows_used, rows_allocd as ulint
    instead of ullint.  32 bits should be enough.
    
    fill_innodb_trx_from_cache(), i_s_zip_fill_low(): Cast 64-bit unsigned
    integers to longlong when calling Field::store(longlong, bool is_unsigned).
    Otherwise, the compiler would implicitly convert them to double and
    invoke Field::store(double) instead.
    
    recv_truncate_group(), recv_copy_group(), recv_calc_lsn_on_data_add():
    Cast ib_uint64_t expressions to ulint to get rid of "possible loss of
    precision" warnings.  (There should not be any loss of precision in
    these cases.)
    
    log_close(), log_checkpoint_margin(): Declare some variables as ib_uint64_t
    instead of ulint, so that there won't be any potential loss of precision.
    
    mach_write_ull(): Cast the second argument of mach_write_to_4() to ulint.
    
    OS_FILE_FROM_FD(): Cast the return value of _get_osfhandle() to HANDLE.
    
    row_merge_dict_table_get_index(): Cast the parameter of mem_free() to (void*)
    in order to get rid of the bogus MSVC warning C4090, which has been reported
    as MSVC bug 101661:
    <http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101661>
    
    row_mysql_read_blob_ref(): To get rid of a bogus MSVC warning C4090,
    drop a const qualifier.
    c4605a28
buf0buf.ic 26.6 KB