Fixed all warnings in MSVS (#8391)

Fixes #2859
Fixes #3570
Fixes #8389
This commit is contained in:
Lemongrass3110 2024-06-04 03:07:16 +02:00 committed by GitHub
parent 660b194ade
commit 48b4623f3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 205 additions and 186 deletions

View File

@ -49,8 +49,10 @@ jobs:
- name: Command - configure
env:
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }}'
# -Werror: to treat all warnings as errors
# -Wno-error=builtin-declaration-mismatch: otherwise ./configure checks fail
run: ./configure $CONFIGURE_FLAGS --enable-buildbot=yes CXXFLAGS='-Werror -Wno-error=builtin-declaration-mismatch'
- name: Command - make clean
run: make clean

View File

@ -41,8 +41,8 @@ jobs:
- name: Build solution in Debug
if: ${{ matrix.mode == 'PRE' }}
run: msbuild rAthena.sln -t:rebuild -property:Configuration=Debug /p:DefineConstants="BUILDBOT%3BPRERE"
run: msbuild rAthena.sln -t:rebuild -property:Configuration=Debug /p:DefineConstants="BUILDBOT%3BPRERE" /warnaserror
- name: Build solution in Debug
if: ${{ matrix.mode == 'RE' }}
run: msbuild rAthena.sln -t:rebuild -property:Configuration=Debug /p:DefineConstants="BUILDBOT"
run: msbuild rAthena.sln -t:rebuild -property:Configuration=Debug /p:DefineConstants="BUILDBOT" /warnaserror

View File

@ -96,7 +96,7 @@ void chlogif_pincode_start(int fd, struct char_session_data* sd){
TIMER_FUNC(chlogif_send_acc_tologin){
if ( chlogif_isconnected() ){
// send account list to login server
int users = char_get_onlinedb().size();
size_t users = char_get_onlinedb().size();
int i = 0;
WFIFOHEAD(login_fd,8+users*4);
@ -176,7 +176,7 @@ void chlogif_send_global_accreg(const char *key, unsigned int index, int64 int_v
if (!chlogif_isconnected())
return;
int nlen = WFIFOW(login_fd, 2);
int16 nlen = WFIFOW( login_fd, 2 );
size_t len;
len = strlen(key)+1;
@ -185,7 +185,7 @@ void chlogif_send_global_accreg(const char *key, unsigned int index, int64 int_v
nlen += 1;
safestrncpy(WFIFOCP(login_fd,nlen), key, len);
nlen += len;
nlen += static_cast<decltype(nlen)>( len );
WFIFOL(login_fd, nlen) = index;
nlen += 4;
@ -201,7 +201,7 @@ void chlogif_send_global_accreg(const char *key, unsigned int index, int64 int_v
nlen += 1;
safestrncpy(WFIFOCP(login_fd,nlen), string_value, len);
nlen += len;
nlen += static_cast<decltype(nlen)>( len );
}
} else {
WFIFOB(login_fd, nlen) = int_value ? 0 : 1;

View File

@ -195,7 +195,7 @@ void chmapif_send_misc(int fd) {
* @param map_id
* @param count Number of map from new map-server has
**/
void chmapif_send_maps(int fd, int map_id, int count, unsigned char *mapbuf) {
void chmapif_send_maps( int fd, int map_id, size_t count, unsigned char* mapbuf ){
uint16 x;
if (count == 0) {
@ -205,7 +205,7 @@ void chmapif_send_maps(int fd, int map_id, int count, unsigned char *mapbuf) {
unsigned char buf[INT16_MAX];
// Transmitting maps information to the other map-servers
WBUFW(buf,0) = 0x2b04;
WBUFW( buf, 2 ) = count * MAP_NAME_LENGTH_EXT + 10;
WBUFW( buf, 2 ) = static_cast<int16>( count * MAP_NAME_LENGTH_EXT + 10 );
WBUFL(buf,4) = htonl(map_server[map_id].ip);
WBUFW(buf,8) = htons(map_server[map_id].port);
memcpy( WBUFP( buf, 10 ), mapbuf, count * MAP_NAME_LENGTH_EXT );
@ -317,7 +317,7 @@ int chmapif_parse_askscdata(int fd){
ShowWarning("Too many status changes for %d:%d, some of them were not loaded.\n", aid, cid);
if (count > 0)
{
WFIFOW(fd,2) = 14 + count*sizeof(struct status_change_data);
WFIFOW( fd, 2 ) = static_cast<int16>( 14 + count * sizeof( struct status_change_data ) );
WFIFOW(fd,12) = count;
WFIFOSET(fd,WFIFOW(fd,2));
}
@ -574,7 +574,7 @@ int chmapif_parse_req_skillcooldown(int fd){
ShowWarning("Too many skillcooldowns for %d:%d, some of them were not loaded.\n", aid, cid);
if( count > 0 )
{
WFIFOW(fd,2) = 14 + count * sizeof(struct skill_cooldown_data);
WFIFOW( fd, 2 ) = static_cast<int16>( 14 + count * sizeof( struct skill_cooldown_data ) );
WFIFOW(fd,12) = count;
WFIFOSET(fd,WFIFOW(fd,2));
//Clear the data once loaded.

View File

@ -264,7 +264,7 @@ void mapif_achievement_load( int fd, uint32 char_id ){
WFIFOHEAD(fd, num_achievements * sizeof(struct achievement) + 8);
WFIFOW(fd, 0) = 0x3862;
WFIFOW(fd, 2) = num_achievements * sizeof(struct achievement) + 8;
WFIFOW(fd, 2) = static_cast<int16>( num_achievements * sizeof( struct achievement ) + 8 );
WFIFOL(fd, 4) = char_id;
if (num_achievements > 0)

View File

@ -60,9 +60,12 @@ std::shared_ptr<struct clan> inter_clan_fromsql(int clan_id){
clan = std::make_shared<struct clan>();
clan->id = clan_id;
Sql_GetData(sql_handle, 0, &data, &len); memcpy(clan->name, data, min(len, NAME_LENGTH));
Sql_GetData(sql_handle, 1, &data, &len); memcpy(clan->master, data, min(len, NAME_LENGTH));
Sql_GetData(sql_handle, 2, &data, &len); memcpy(clan->map, data, min(len, MAP_NAME_LENGTH_EXT));
Sql_GetData( sql_handle, 0, &data, &len );
memcpy( clan->name, data, std::min( len, static_cast<decltype(len)>( NAME_LENGTH ) ) );
Sql_GetData( sql_handle, 1, &data, &len );
memcpy( clan->master, data, std::min( len, static_cast<decltype(len)>( NAME_LENGTH ) ) );
Sql_GetData( sql_handle, 2, &data, &len );
memcpy( clan->map, data, std::min( len, static_cast<decltype(len)>( MAP_NAME_LENGTH_EXT ) ) );
Sql_GetData(sql_handle, 3, &data, nullptr); clan->max_member = atoi(data);
clan->connect_member = 0;
@ -96,16 +99,13 @@ std::shared_ptr<struct clan> inter_clan_fromsql(int clan_id){
}
int mapif_clan_info( int fd ){
int offset;
int length;
length = 4 + clan_db.size() * sizeof( struct clan );
size_t offset = 4;
size_t length = offset + clan_db.size() * sizeof( struct clan );
WFIFOHEAD( fd, length );
WFIFOW( fd, 0 ) = 0x38A0;
WFIFOW( fd, 2 ) = length;
WFIFOW( fd, 2 ) = static_cast<int16>( length );
offset = 4;
for( const auto& pair : clan_db ){
std::shared_ptr<struct clan> clan = pair.second;

View File

@ -83,9 +83,11 @@ TIMER_FUNC(guild_save_timer){
if( state != 2 ) //Reached the end of the guild db without saving.
last_id = 0; //Reset guild saved, return to beginning.
state = guild_db.size();
if( state < 1 ) state = 1; //Calculate the time slot for the next save.
add_timer(tick + (charserv_config.autosave_interval)/state, guild_save_timer, 0, 0);
size_t count = std::max( guild_db.size(), static_cast<size_t>( 1 ) );
// Calculate the time slot for the next save.
add_timer( tick + charserv_config.autosave_interval / count, guild_save_timer, 0, 0 );
return 0;
}

View File

@ -23,18 +23,15 @@
* @return Array of found entries. It has *count entries, and it is care of the
* caller to aFree() it afterwards.
*/
struct quest *mapif_quests_fromsql(uint32 char_id, int *count) {
struct quest *mapif_quests_fromsql( uint32 char_id, size_t& count ){
struct quest *questlog = nullptr;
struct quest tmp_quest;
SqlStmt *stmt;
if( !count )
return nullptr;
stmt = SqlStmt_Malloc(sql_handle);
if( stmt == nullptr ) {
SqlStmt_ShowDebug(stmt);
*count = 0;
count = 0;
return nullptr;
}
@ -52,23 +49,27 @@ struct quest *mapif_quests_fromsql(uint32 char_id, int *count) {
) {
SqlStmt_ShowDebug(stmt);
SqlStmt_Free(stmt);
*count = 0;
count = 0;
return nullptr;
}
*count = (int)SqlStmt_NumRows(stmt);
if( *count > 0 ) {
int i = 0;
count = static_cast<std::remove_reference<decltype(count)>::type>( SqlStmt_NumRows( stmt ) );
if( count > 0 ) {
size_t i = 0;
questlog = (struct quest *)aCalloc(*count, sizeof(struct quest));
questlog = (struct quest *)aCalloc( count, sizeof( struct quest ) );
while( SQL_SUCCESS == SqlStmt_NextRow(stmt) ) {
if( i >= *count ) //Sanity check, should never happen
// Sanity check, should never happen
if( i >= count ){
break;
}
memcpy(&questlog[i++], &tmp_quest, sizeof(tmp_quest));
}
if( i < *count ) {
if( i < count ) {
//Should never happen. Compact array
*count = i;
count = i;
questlog = (struct quest *)aRealloc(questlog, sizeof(struct quest) * i);
}
}
@ -136,18 +137,21 @@ bool mapif_quest_update(uint32 char_id, struct quest qd) {
* @see inter_parse_frommap
*/
int mapif_parse_quest_save(int fd) {
int i, j, k, old_n, new_n = (RFIFOW(fd,2) - 8) / sizeof(struct quest);
uint32 char_id = RFIFOL(fd,4);
struct quest *old_qd = nullptr, *new_qd = nullptr;
bool success = true;
size_t old_n, new_n = ( RFIFOW( fd, 2 ) - 8 ) / sizeof( struct quest );
if( new_n > 0 )
new_qd = (struct quest*)RFIFOP(fd,8);
old_qd = mapif_quests_fromsql(char_id, &old_n);
for( i = 0; i < new_n; i++ ) {
old_qd = mapif_quests_fromsql( char_id, old_n );
for( size_t i = 0, j; i < new_n; i++ ) {
ARR_FIND(0, old_n, j, new_qd[i].quest_id == old_qd[j].quest_id);
if( j < old_n ) { //Update existing quests
size_t k;
//Only states and counts are changable.
ARR_FIND(0, MAX_QUEST_OBJECTIVES, k, new_qd[i].count[k] != old_qd[j].count[k]);
if( k != MAX_QUEST_OBJECTIVES || new_qd[i].state != old_qd[j].state )
@ -162,8 +166,10 @@ int mapif_parse_quest_save(int fd) {
success &= mapif_quest_add(char_id, new_qd[i]);
}
for( i = 0; i < old_n; i++ ) //Quests not in new_qd but in old_qd are to be erased.
// Quests not in new_qd but in old_qd are to be erased.
for( size_t i = 0; i < old_n; i++ ){
success &= mapif_quest_delete(char_id, old_qd[i].quest_id);
}
if( old_qd )
aFree(old_qd);
@ -189,14 +195,12 @@ int mapif_parse_quest_save(int fd) {
*/
int mapif_parse_quest_load(int fd) {
uint32 char_id = RFIFOL(fd,2);
struct quest *tmp_questlog = nullptr;
int num_quests;
tmp_questlog = mapif_quests_fromsql(char_id, &num_quests);
size_t num_quests;
struct quest* tmp_questlog = mapif_quests_fromsql( char_id, num_quests );
WFIFOHEAD(fd,num_quests * sizeof(struct quest) + 8);
WFIFOW(fd,0) = 0x3860;
WFIFOW(fd,2) = num_quests * sizeof(struct quest) + 8;
WFIFOW(fd,2) = static_cast<int16>( num_quests * sizeof( struct quest ) + 8 );
WFIFOL(fd,4) = char_id;
if( num_quests > 0 )

View File

@ -709,7 +709,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
Sql_GetData(sql_handle, 1, &data, nullptr);
@ -723,7 +723,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
WFIFOW(fd, 14) += 1;
@ -789,7 +789,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
Sql_GetData(sql_handle, 1, &data, nullptr);
@ -1038,11 +1038,14 @@ void inter_final(void)
* @param fd
**/
void inter_Storage_sendInfo(int fd) {
int size = sizeof(struct s_storage_table), len = 4 + interServerDb.size() * size, offset;
size_t offset = 4;
size_t size = sizeof( struct s_storage_table );
size_t len = offset + interServerDb.size() * size;
// Send storage table information
WFIFOHEAD(fd, len);
WFIFOW(fd, 0) = 0x388c;
WFIFOW(fd, 2) = len;
WFIFOW( fd, 2 ) = static_cast<int16>( len );
offset = 4;
for( auto storage : interServerDb ){
memcpy(WFIFOP(fd, offset), storage.second.get(), size);
@ -1297,7 +1300,7 @@ int mapif_parse_Registry(int fd)
size_t lenkey = RFIFOB( fd, cursor );
const char* src_key= RFIFOCP(fd, cursor + 1);
std::string key( src_key, lenkey );
cursor += lenkey + 1;
cursor += static_cast<decltype(cursor)>( lenkey + 1 );
uint32 index = RFIFOL(fd, cursor);
cursor += 4;
@ -1317,7 +1320,7 @@ int mapif_parse_Registry(int fd)
size_t len_val = RFIFOB( fd, cursor );
const char* src_val= RFIFOCP(fd, cursor + 1);
std::string sval( src_val, len_val );
cursor += len_val + 1;
cursor += static_cast<decltype(cursor)>( len_val + 1 );
inter_savereg( account_id, char_id, key.c_str(), index, 0, sval.c_str(), true );
break;
}

View File

@ -385,7 +385,7 @@ static void grfio_localpath_create(char* buffer, size_t size, const char* filena
/// Reads a file into a newly allocated buffer (from grf or data directory).
void* grfio_reads(const char* fname, int* size)
void* grfio_reads(const char* fname, size_t* size)
{
unsigned char* buf2 = nullptr;
@ -457,7 +457,7 @@ void* grfio_reads(const char* fname, int* size)
}
int32 grfio_read_rsw_water_level( const char* fname ){
unsigned char* rsw = (unsigned char *)grfio_read( fname );
unsigned char* rsw = (unsigned char *)grfio_reads( fname );
if( rsw == nullptr ){
// Error already reported in grfio_read
@ -714,7 +714,7 @@ static void grfio_resourcecheck(void)
{
char restable[256];
char *buf;
int size;
size_t size;
FILE* fp;
int i = 0;
@ -744,7 +744,7 @@ static void grfio_resourcecheck(void)
buf[size] = '\0';
ptr = buf;
while( ptr - buf < size )
while( static_cast<size_t>( ptr - buf ) < size )
{
if( grfio_parse_restable_row(ptr) )
++i;

View File

@ -10,9 +10,8 @@ const int32 RSW_NO_WATER = 1000000;
void grfio_init(const char* fname);
void grfio_final(void);
void* grfio_reads(const char* fname, int* size);
void* grfio_reads(const char* fname, size_t* size = nullptr);
char* grfio_find_file(const char* fname);
#define grfio_read(fn) grfio_reads(fn, nullptr)
int32 grfio_read_rsw_water_level( const char* fname );
unsigned long grfio_crc32(const unsigned char *buf, unsigned int len);

View File

@ -760,7 +760,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, uint32 account_id, uint32 c
Sql* sql_handle = ((AccountDB_SQL*)self)->accounts;
AccountDB_SQL* db = (AccountDB_SQL*)self;
char* data;
int plen = 0;
int16 plen = 0;
size_t len;
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `key`, `index`, `value` FROM `%s` WHERE `account_id`='%" PRIu32 "'", db->global_acc_reg_str_table, account_id) )
@ -790,7 +790,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, uint32 account_id, uint32 c
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
Sql_GetData(sql_handle, 1, &data, nullptr);
@ -804,7 +804,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, uint32 account_id, uint32 c
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
WFIFOW(fd, 14) += 1;
@ -857,7 +857,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, uint32 account_id, uint32 c
plen += 1;
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
Sql_GetData(sql_handle, 1, &data, nullptr);

View File

@ -1651,7 +1651,7 @@ ACMD_FUNC(baselevelup)
party_send_levelup(sd);
if( level > 0 && battle_config.atcommand_levelup_events )
npc_script_event(sd,NPCE_BASELVUP);
npc_script_event( *sd, NPCE_BASELVUP );
return 0;
}
@ -1709,7 +1709,7 @@ ACMD_FUNC(joblevelup)
status_calc_pc(sd, SCO_FORCE);
if( level > 0 && battle_config.atcommand_levelup_events )
npc_script_event(sd,NPCE_JOBLVUP);
npc_script_event( *sd, NPCE_JOBLVUP );
return 0;
}
@ -3758,16 +3758,12 @@ ACMD_FUNC(lostskill)
*------------------------------------------*/
ACMD_FUNC(spiritball)
{
uint32 max_spiritballs;
int number;
nullpo_retr(-1, sd);
max_spiritballs = zmin(ARRAYLENGTH(sd->spirit_timer), 0x7FFF);
if( !message || !*message || (number = atoi(message)) < 0 || number > max_spiritballs )
{
if( !message || !*message || ( number = atoi( message ) ) < 0 || number > MAX_SPIRITBALL ){
char msg[CHAT_SIZE_MAX];
safesnprintf(msg, sizeof(msg), msg_txt(sd,1028), max_spiritballs); // Please enter a party name (usage: @party <party_name>).
safesnprintf( msg, sizeof( msg ), msg_txt( sd, 1028 ), MAX_SPIRITBALL ); // Please enter an amount (usage: @spiritball <number: 0-%d>).
clif_displaymessage(fd, msg);
return -1;
}
@ -6154,7 +6150,7 @@ ACMD_FUNC(clearcart)
#define MAX_SKILLID_PARTIAL_RESULTS 5
#define MAX_SKILLID_PARTIAL_RESULTS_LEN 74 // "skill " (6) + "%d:" (up to 5) + "%s" (up to 30) + " (%s)" (up to 33)
ACMD_FUNC(skillid) {
int skillen, i, found = 0;
int i, found = 0;
char partials[MAX_SKILLID_PARTIAL_RESULTS][MAX_SKILLID_PARTIAL_RESULTS_LEN];
nullpo_retr(-1, sd);
@ -6164,7 +6160,7 @@ ACMD_FUNC(skillid) {
return -1;
}
skillen = strlen(message);
size_t skillen = strlen( message );
for(const auto & skill : skill_db) {
uint16 skill_id = skill.second->nameid;
@ -6521,7 +6517,7 @@ ACMD_FUNC(autotrade) {
}
if (battle_config.at_logout_event)
npc_script_event(sd, NPCE_LOGOUT); //Logout Event
npc_script_event( *sd, NPCE_LOGOUT );
channel_pcquit(sd,0xF); //leave all chan
clif_authfail_fd(sd->fd, 15);
@ -8872,7 +8868,7 @@ ACMD_FUNC(showdelay)
*------------------------------------------*/
ACMD_FUNC(invite)
{
unsigned int did = sd->duel_group;
size_t did = sd->duel_group;
map_session_data *target_sd = nullptr;
memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
@ -8959,7 +8955,7 @@ ACMD_FUNC(duel)
target_sd = map_nick2sd(atcmd_player_name,true);
if(target_sd != nullptr) {
unsigned int newduel;
size_t newduel;
if((newduel = duel_create(sd, 2)) != -1) {
if(target_sd->duel_group > 0 || target_sd->duel_invite > 0) {
clif_displaymessage(fd, msg_txt(sd,353)); // "Duel: Player already in duel."
@ -9691,8 +9687,6 @@ static void atcommand_commands_sub(map_session_data* sd, const int fd, AtCommand
clif_displaymessage(fd, msg_txt(sd,273)); // "Commands available:"
for (cmd = (AtCommandInfo*)dbi_first(iter); dbi_exists(iter); cmd = (AtCommandInfo*)dbi_next(iter)) {
unsigned int slen = 0;
switch( type ) {
case COMMAND_CHARCOMMAND:
if( cmd->char_groups[sd->group->index] == 0 )
@ -9707,7 +9701,7 @@ static void atcommand_commands_sub(map_session_data* sd, const int fd, AtCommand
}
slen = strlen(cmd->command);
size_t slen = strlen( cmd->command );
// flush the text buffer if this command won't fit into it
if (slen + cur - line_buff >= CHATBOX_SIZE) {
@ -9729,7 +9723,8 @@ static void atcommand_commands_sub(map_session_data* sd, const int fd, AtCommand
int i, count_bind, gm_lvl = pc_get_group_level(sd);
for( i = count_bind = 0; i < atcmd_binding_count; i++ ) {
if ( gm_lvl >= ( (type - 1) ? atcmd_binding[i]->level2 : atcmd_binding[i]->level ) ) {
unsigned int slen = strlen(atcmd_binding[i]->command);
size_t slen = strlen( atcmd_binding[i]->command );
if ( count_bind == 0 ) {
cur = line_buff;
memset(line_buff,' ',CHATBOX_SIZE);
@ -9823,7 +9818,8 @@ ACMD_FUNC(accinfo) {
*/
ACMD_FUNC(set) {
char reg[46], val[128], name[32];
int toset = 0, len;
int toset = 0;
size_t len;
uint32 index;
bool is_str = false;
int64 uid;
@ -11587,7 +11583,7 @@ bool is_atcommand(const int fd, map_session_data* sd, const char* message, int t
void atcommand_db_load_groups(){
DBIterator *iter = db_iterator(atcommand_db);
AtCommandInfo* cmd;
int pc_group_max = player_group_db.size();
size_t pc_group_max = player_group_db.size();
for (cmd = (AtCommandInfo*)dbi_first(iter); dbi_exists(iter); cmd = (AtCommandInfo*)dbi_next(iter)) {
cmd->at_groups = (char*)aMalloc( pc_group_max * sizeof(char) );

View File

@ -612,7 +612,7 @@ int bg_team_leave(map_session_data *sd, bool quit, bool deserter)
sc_start(nullptr, &sd->bl, SC_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT, 100, 1, static_cast<t_tick>(bg->deserter_time) * 1000); // Deserter timer
}
return bgteam->members.size();
return static_cast<int>( bgteam->members.size() );
}
return -1;

View File

@ -1311,7 +1311,8 @@ int chrif_save_scdata(map_session_data *sd) { //parses the sc_data of the player
}
WFIFOW(char_fd,12) = count;
WFIFOW(char_fd,2) = 14 +count*sizeof(struct status_change_data); //Total packet size
// Total packet size
WFIFOW( char_fd, 2 ) = static_cast<int16>( 14 + count * sizeof( struct status_change_data ) );
WFIFOSET(char_fd,WFIFOW(char_fd,2));
#endif
return 0;
@ -1350,7 +1351,7 @@ int chrif_skillcooldown_save(map_session_data *sd) {
return 0;
WFIFOW(char_fd, 12) = count;
WFIFOW(char_fd, 2) = 14 + count * sizeof (struct skill_cooldown_data);
WFIFOW( char_fd, 2 ) = static_cast<int16>( 14 + count * sizeof( struct skill_cooldown_data ) );
WFIFOSET(char_fd, WFIFOW(char_fd, 2));
return 0;

View File

@ -9228,8 +9228,8 @@ void clif_guild_expulsionlist(map_session_data* sd)
/// Guild chat message (ZC_GUILD_CHAT).
/// 017f <packet len>.W <message>.?B
void clif_guild_message(const struct mmo_guild &g,uint32 account_id,const char *mes,int len)
{// TODO: account_id is not used, candidate for deletion? [Ai4rei]
void clif_guild_message( const struct mmo_guild& g, uint32 account_id, const char* mes, size_t len ){
// TODO: account_id is not used, candidate for deletion? [Ai4rei]
map_session_data *sd;
uint8 buf[256];
@ -9244,7 +9244,7 @@ void clif_guild_message(const struct mmo_guild &g,uint32 account_id,const char *
}
WBUFW(buf, 0) = 0x17f;
WBUFW(buf, 2) = len + 5;
WBUFW( buf, 2 ) = static_cast<int16>( len + 5 );
safestrncpy(WBUFCP(buf,4), mes, len+1);
if ((sd = guild_getavailablesd(g)) != nullptr)
@ -10942,8 +10942,7 @@ void clif_parse_LoadEndAck(int fd,map_session_data *sd)
map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 1);
if (!sd->state.autotrade) { // Don't trigger NPC event or opening vending/buyingstore will be failed
//Login Event
npc_script_event(sd, NPCE_LOGIN);
npc_script_event( *sd, NPCE_LOGIN );
}
// Set facing direction before check below to update client
@ -11087,7 +11086,7 @@ void clif_parse_LoadEndAck(int fd,map_session_data *sd)
// Don't trigger NPC event or opening vending/buyingstore will be failed
if(!sd->state.autotrade && mapdata->getMapFlag(MF_LOADEVENT)) // Lance
npc_script_event(sd, NPCE_LOADMAP);
npc_script_event( *sd, NPCE_LOADMAP );
if (pc_checkskill(sd, SG_DEVIL) && ((sd->class_&MAPID_THIRDMASK) == MAPID_STAR_EMPEROR || pc_is_maxjoblv(sd)))
clif_status_load(&sd->bl, EFST_DEVIL1, 1); //blindness [Komurka]
@ -18584,8 +18583,7 @@ void clif_font(map_session_data *sd)
/// Required to start the instancing information window on Client
/// This window re-appears each "refresh" of client automatically until the keep_limit reaches 0.
/// S 0x2cb <Instance name>.61B <Standby Position>.W
void clif_instance_create(int instance_id, int num)
{
void clif_instance_create( int instance_id, size_t num ){
#if PACKETVER >= 20071128
map_session_data *sd = nullptr;
enum send_target target = PARTY;
@ -18603,11 +18601,10 @@ void clif_instance_create(int instance_id, int num)
WBUFW(buf,0) = 0x2cb;
safestrncpy(WBUFCP(buf,2), db->name.c_str(), INSTANCE_NAME_LENGTH);
WBUFW(buf,63) = num;
WBUFW( buf, 63 ) = static_cast<int16>( num );
clif_send(buf,packet_len(0x2cb),&sd->bl,target);
#endif
return;
}
/// To announce Instancing queue creation if no maps available

View File

@ -1032,7 +1032,7 @@ void clif_guild_memberpositionchanged(const struct mmo_guild &g,int idx);
void clif_guild_emblem(const map_session_data &sd, const struct mmo_guild &g);
void clif_guild_emblem_area(struct block_list* bl);
void clif_guild_notice(map_session_data* sd);
void clif_guild_message(const struct mmo_guild &g,uint32 account_id,const char *mes,int len);
void clif_guild_message( const struct mmo_guild& g, uint32 account_id, const char* mes, size_t len );
void clif_guild_reqalliance(map_session_data *sd,uint32 account_id,const char *name);
void clif_guild_allianceack(map_session_data *sd,int flag);
void clif_guild_delalliance(map_session_data *sd,int guild_id,int flag);
@ -1063,7 +1063,7 @@ void clif_bg_queue_lobby_notify(const char *name, map_session_data *sd);
void clif_bg_queue_ack_lobby(bool result, const char *name, const char *lobbyname, map_session_data *sd);
// Instancing
void clif_instance_create(int instance_id, int num);
void clif_instance_create( int instance_id, size_t num );
void clif_instance_changewait(int instance_id, int num);
void clif_instance_status(int instance_id, unsigned int limit1, unsigned int limit2);
void clif_instance_changestatus(int instance_id, e_instance_notify type, unsigned int limit);

View File

@ -1387,7 +1387,7 @@ int guild_send_message(map_session_data *sd, const char *mes, size_t len) {
/*====================================================
* Guild receive a message, will be displayed to whole member
*---------------------------------------------------*/
int guild_recv_message(int guild_id,uint32 account_id,const char *mes,int len) {
int guild_recv_message( int guild_id, uint32 account_id, const char *mes, size_t len ){
auto g = guild_search(guild_id);
if (!g)
return 0;

View File

@ -91,7 +91,7 @@ int guild_change_emblem( map_session_data& sd, int len, const char* data );
int guild_change_emblem_version( map_session_data& sd, int version );
int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data);
int guild_send_message(map_session_data *sd, const char *mes, size_t len);
int guild_recv_message(int guild_id,uint32 account_id,const char *mes,int len);
int guild_recv_message( int guild_id, uint32 account_id, const char *mes, size_t len );
int guild_send_dot_remove(map_session_data *sd);
int guild_skillupack(int guild_id,uint16 skill_id,uint32 account_id);
int guild_break(map_session_data *sd,char *name);

View File

@ -351,7 +351,9 @@ static TIMER_FUNC(instance_subscription_timer){
std::shared_ptr<MapGuild> gd;
struct clan *cd;
e_instance_mode mode = idata->mode;
int ret = instance_addmap(instance_id); // Check that maps have been added
// Check that maps have been added
size_t ret = instance_addmap( instance_id );
switch(mode) {
case IM_NONE:
@ -710,7 +712,7 @@ int instance_create(int owner_id, const char *name, e_instance_mode mode) {
* @param instance_id: Instance ID to add map to
* @return 0 on failure or map count on success
*/
int instance_addmap(int instance_id) {
size_t instance_addmap( int instance_id ){
if (instance_id <= 0)
return 0;

View File

@ -128,7 +128,7 @@ bool instance_addusers(int instance_id);
bool instance_delusers(int instance_id);
void instance_generate_mapname(int map_id, int instance_id, char outname[MAP_NAME_LENGTH]);
int16 instance_mapid(int16 m, int instance_id);
int instance_addmap(int instance_id);
size_t instance_addmap( int instance_id );
void instance_addnpc(std::shared_ptr<s_instance_data> idata);

View File

@ -204,8 +204,7 @@ int intif_rename(map_session_data *sd, int type, char *name)
* @param type : Color of msg
* @return 0=error occured, 1=msg sent
*/
int intif_broadcast(const char* mes, int len, int type)
{
int intif_broadcast( const char* mes, size_t len, int type ){
nullpo_ret(mes);
if (len < 2)
return 0;
@ -223,7 +222,7 @@ int intif_broadcast(const char* mes, int len, int type)
WFIFOHEAD(inter_fd, 16 + lp + len);
WFIFOW(inter_fd,0) = 0x3000;
WFIFOW(inter_fd,2) = 16 + lp + len;
WFIFOW( inter_fd, 2 ) = static_cast<int16>( 16 + lp + len );
WFIFOL(inter_fd,4) = 0xFF000000; // 0xFF000000 color signals standard broadcast
WFIFOW(inter_fd,8) = 0; // fontType not used with standard broadcast
WFIFOW(inter_fd,10) = 0; // fontSize not used with standard broadcast
@ -249,8 +248,7 @@ int intif_broadcast(const char* mes, int len, int type)
* @param fontY :
* @return 0=not send to char-serv, 1=send to char-serv
*/
int intif_broadcast2(const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY)
{
int intif_broadcast2( const char* mes, size_t len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY ){
nullpo_ret(mes);
if (len < 2)
return 0;
@ -266,7 +264,7 @@ int intif_broadcast2(const char* mes, int len, unsigned long fontColor, short fo
WFIFOHEAD(inter_fd, 16 + len);
WFIFOW(inter_fd,0) = 0x3000;
WFIFOW(inter_fd,2) = 16 + len;
WFIFOW( inter_fd, 2 ) = static_cast<int16>( 16 + len );
WFIFOL(inter_fd,4) = fontColor;
WFIFOW(inter_fd,8) = fontType;
WFIFOW(inter_fd,10) = fontSize;
@ -370,13 +368,15 @@ int intif_wis_reply(int id, int flag)
*/
int intif_wis_message_to_gm(char *wisp_name, int permission, char *mes)
{
int mes_len;
if (CheckForCharServer())
return 0;
mes_len = strlen(mes) + 1; // + null
// + null
size_t mes_len = strlen( mes ) + 1;
WFIFOHEAD(inter_fd, mes_len + 8 + NAME_LENGTH);
WFIFOW(inter_fd,0) = 0x3003;
WFIFOW(inter_fd,2) = mes_len + 32;
WFIFOW( inter_fd, 2 ) = static_cast<int16>( mes_len + 32 );
safestrncpy(WFIFOCP(inter_fd,4), wisp_name, NAME_LENGTH);
WFIFOL(inter_fd,4+NAME_LENGTH) = permission;
safestrncpy(WFIFOCP(inter_fd,8+NAME_LENGTH), mes, mes_len);
@ -444,7 +444,7 @@ int intif_saveregistry(map_session_data *sd)
plen += 1;
safestrncpy(WFIFOCP(inter_fd,plen), varname, len); //the key
plen += len;
plen += static_cast<decltype(plen)>( len );
WFIFOL(inter_fd, plen) = script_getvaridx(key.i64);
plen += 4;
@ -468,7 +468,7 @@ int intif_saveregistry(map_session_data *sd)
plen += 1;
safestrncpy(WFIFOCP(inter_fd,plen), p->value, len);
plen += len;
plen += static_cast<decltype(plen)>( len );
} else {
script_reg_destroy_single(sd,key.i64,&p->flag);
}
@ -866,13 +866,12 @@ int intif_guild_addmember(int guild_id,struct guild_member *m)
* @param len : size of the name
* @return 0=error, 1=msg_sent
*/
int intif_guild_change_gm(int guild_id, const char* name, int len)
{
int intif_guild_change_gm( int guild_id, const char* name, size_t len ){
if (CheckForCharServer())
return 0;
WFIFOHEAD(inter_fd, len + 8);
WFIFOW(inter_fd, 0)=0x3033;
WFIFOW(inter_fd, 2)=len+8;
WFIFOW( inter_fd, 2 ) = static_cast<int16>( len + 8 );
WFIFOL(inter_fd, 4)=guild_id;
safestrncpy(WFIFOCP(inter_fd,8),name,len);
WFIFOSET(inter_fd,len+8);

View File

@ -23,8 +23,8 @@ class map_session_data;
int intif_parse(int fd);
int intif_broadcast(const char* mes, int len, int type);
int intif_broadcast2(const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY);
int intif_broadcast( const char* mes, size_t len, int type );
int intif_broadcast2( const char* mes, size_t len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY );
int intif_broadcast_obtain_special_item(map_session_data *sd, t_itemid nameid, unsigned int sourceid, unsigned char type);
int intif_broadcast_obtain_special_item_npc(map_session_data *sd, t_itemid nameid);
int intif_main_message(map_session_data* sd, const char* message);
@ -57,7 +57,7 @@ int intif_guild_leave(int guild_id, uint32 account_id, uint32 char_id, int flag,
int intif_guild_memberinfoshort(int guild_id, uint32 account_id, uint32 char_id, int online, int lv, int class_);
int intif_guild_break(int guild_id);
int intif_guild_message(int guild_id, uint32 account_id, const char *mes, size_t len);
int intif_guild_change_gm(int guild_id, const char* name, int len);
int intif_guild_change_gm( int guild_id, const char* name, size_t len );
int intif_guild_change_basicinfo(int guild_id, int type, const void *data, int len);
int intif_guild_change_memberinfo(int guild_id, uint32 account_id, uint32 char_id, int type, const void *data, int len);
int intif_guild_position(int guild_id, int idx, struct guild_position *p);

View File

@ -2098,7 +2098,7 @@ int map_quit(map_session_data *sd) {
pc_itemcd_do(sd,false);
npc_script_event(sd, NPCE_LOGOUT);
npc_script_event( *sd, NPCE_LOGOUT );
//Unit_free handles clearing the player related data,
//map_quit handles extra specific data which is related to quitting normally
@ -3699,7 +3699,7 @@ int map_readgat (struct map_data* m)
sprintf(filename, "data\\%s.gat", m->name);
gat = (uint8 *) grfio_read(filename);
gat = (uint8 *) grfio_reads(filename);
if (gat == nullptr)
return 0;
@ -4490,7 +4490,8 @@ enum e_mapflag map_getmapflag_by_name(char* name)
bool map_getmapflag_name( enum e_mapflag mapflag, char* output ){
const char* constant;
const char* prefix = "mf_";
int i, len = strlen(prefix);
size_t i;
size_t len = strlen( prefix );
// Look it up
constant = script_get_constant_str( prefix, mapflag );

View File

@ -3200,7 +3200,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
} else if( mvp_sd && !md->state.npc_killmonster ) {
pc_setparam(mvp_sd, SP_KILLEDGID, md->bl.id);
pc_setparam(mvp_sd, SP_KILLEDRID, md->mob_id);
npc_script_event(mvp_sd, NPCE_KILLNPC); // PCKillNPC [Lance]
npc_script_event( *mvp_sd, NPCE_KILLNPC );
}
}
@ -6665,8 +6665,8 @@ static void mob_load(void)
mob_chat_db.load(); // load before mob_skill_db
for(int i = 0; i < ARRAYLENGTH(dbsubpath); i++){
int n1 = strlen(db_path)+strlen(dbsubpath[i])+1;
int n2 = strlen(db_path)+strlen(DBPATH)+strlen(dbsubpath[i])+1;
size_t n1 = strlen( db_path ) + strlen( dbsubpath[i] ) + 1;
size_t n2 = strlen( db_path ) + strlen( DBPATH ) + strlen( dbsubpath[i] ) + 1;
char* dbsubpath1 = (char*)aMalloc(n1+1);
char* dbsubpath2 = (char*)aMalloc(n2+1);

View File

@ -4245,7 +4245,6 @@ int npc_convertlabel_db(DBKey key, DBData *data, va_list ap)
const char* filepath;
struct npc_label_list* label;
const char *p;
int len;
nullpo_ret(label_list = va_arg(ap,struct npc_label_list**));
nullpo_ret(label_list_num = va_arg(ap,int*));
@ -4255,7 +4254,8 @@ int npc_convertlabel_db(DBKey key, DBData *data, va_list ap)
p = lname;
while( ISALNUM(*p) || *p == '_' )
++p;
len = p-lname;
size_t len = p - lname;
// here we check if the label fit into the buffer
if( len > NAME_LENGTH )
@ -5654,28 +5654,34 @@ int npc_parsesrcfile(const char* filepath)
// fill w1
if( pos[3]-pos[2] > ARRAYLENGTH(w1)-1 )
ShowWarning("npc_parsesrcfile: w1 truncated, too much data (%d) in file '%s', line '%d'.\n", pos[3]-pos[2], filepath, strline(buffer,p-buffer));
int i = min(pos[3]-pos[2], ARRAYLENGTH(w1)-1);
memcpy(w1, p+pos[2], i*sizeof(char));
w1[i] = '\0';
size_t index = std::min( pos[3] - pos[2], ARRAYLENGTH( w1 ) - 1 );
memcpy( w1, p + pos[2], index * sizeof( char ) );
w1[index] = '\0';
// fill w2
if( pos[5]-pos[4] > ARRAYLENGTH(w2)-1 )
ShowWarning("npc_parsesrcfile: w2 truncated, too much data (%d) in file '%s', line '%d'.\n", pos[5]-pos[4], filepath, strline(buffer,p-buffer));
i = min(pos[5]-pos[4], ARRAYLENGTH(w2)-1);
memcpy(w2, p+pos[4], i*sizeof(char));
w2[i] = '\0';
index = std::min( pos[5] - pos[4], ARRAYLENGTH( w2 ) - 1 );
memcpy( w2, p + pos[4], index * sizeof( char ) );
w2[index] = '\0';
// fill w3
if( pos[7]-pos[6] > ARRAYLENGTH(w3)-1 )
ShowWarning("npc_parsesrcfile: w3 truncated, too much data (%d) in file '%s', line '%d'.\n", pos[7]-pos[6], filepath, strline(buffer,p-buffer));
i = min(pos[7]-pos[6], ARRAYLENGTH(w3)-1);
memcpy(w3, p+pos[6], i*sizeof(char));
w3[i] = '\0';
index = std::min( pos[7] - pos[6], ARRAYLENGTH( w3 ) - 1 );
memcpy( w3, p + pos[6], index * sizeof( char ) );
w3[index] = '\0';
// fill w4 (to end of line)
if( pos[1]-pos[8] > ARRAYLENGTH(w4)-1 )
ShowWarning("npc_parsesrcfile: w4 truncated, too much data (%d) in file '%s', line '%d'.\n", pos[1]-pos[8], filepath, strline(buffer,p-buffer));
if (pos[8] != -1) {
i = min(pos[1]-pos[8], ARRAYLENGTH(w4)-1);
memcpy(w4, p+pos[8], i*sizeof(char));
w4[i] = '\0';
index = std::min( pos[1] - pos[8], ARRAYLENGTH( w4 ) - 1 );
memcpy( w4, p + pos[8], index * sizeof( char ) );
w4[index] = '\0';
}
else
w4[0] = '\0';
@ -5751,7 +5757,7 @@ int npc_parsesrcfile(const char* filepath)
else
p = npc_parse_script(w1,w2,w3,w4, p, buffer, filepath);
}
else if( (i=0, sscanf(w2,"duplicate%n",&i), (i > 0 && w2[i] == '(')) && count > 3 )
else if( int i = 0; ( sscanf( w2, "duplicate%n", &i ), ( i > 0 && w2[i] == '(' ) ) && count > 3 )
p = npc_parse_duplicate(w1,w2,w3,w4, p, buffer, filepath);
else if( (strcmpi(w2,"monster") == 0 || strcmpi(w2,"boss_monster") == 0) && count > 3 )
p = npc_parse_mob(w1, w2, w3, w4, p, buffer, filepath);
@ -5767,18 +5773,14 @@ int npc_parsesrcfile(const char* filepath)
return 1;
}
int npc_script_event(map_session_data* sd, enum npce_event type){
size_t npc_script_event( map_session_data& sd, enum npce_event type ){
if (type == NPCE_MAX)
return 0;
if (!sd) {
ShowError("npc_script_event: nullptr sd. Event Type %d\n", type);
return 0;
}
std::vector<struct script_event_s>& vector = script_event[type];
for( struct script_event_s& evt : vector ){
npc_event_sub( sd, evt.event, evt.event_name );
npc_event_sub( &sd, evt.event, evt.event_name );
}
return vector.size();

View File

@ -1630,7 +1630,7 @@ void npc_unload_duplicates (struct npc_data* nd);
int npc_unload(struct npc_data* nd, bool single);
int npc_reload(void);
void npc_read_event_script(void);
int npc_script_event(map_session_data* sd, enum npce_event type);
size_t npc_script_event( map_session_data& sd, enum npce_event type );
int npc_duplicate4instance(struct npc_data *snd, int16 m);
int npc_instanceinit(struct npc_data* nd);

View File

@ -1052,8 +1052,7 @@ int party_send_message(map_session_data *sd,const char *mes, size_t len)
return 0;
}
int party_recv_message(int party_id,uint32 account_id,const char *mes,int len)
{
int party_recv_message( int party_id, uint32 account_id, const char *mes, size_t len ){
struct party_data *p;
if( (p=party_search(party_id))==nullptr)
return 0;

View File

@ -89,7 +89,7 @@ void party_send_movemap(map_session_data *sd);
void party_send_levelup(map_session_data *sd);
int party_send_logout(map_session_data *sd);
int party_send_message(map_session_data *sd,const char *mes, size_t len);
int party_recv_message(int party_id,uint32 account_id,const char *mes,int len);
int party_recv_message( int party_id, uint32 account_id, const char *mes, size_t len );
int party_skill_check(map_session_data *sd, int party_id, uint16 skill_id, uint16 skill_lv);
int party_send_xy_clear(struct party_data *p);
void party_exp_share(struct party_data *p,struct block_list *src,t_exp base_exp,t_exp job_exp,int zeny);

View File

@ -6904,7 +6904,8 @@ enum e_setpos pc_setpos(map_session_data* sd, unsigned short mapindex, int x, in
if (sd->state.buyingstore) // Stop buyingstore
buyingstore_close(sd);
npc_script_event(sd, NPCE_LOGOUT);
npc_script_event( *sd, NPCE_LOGOUT );
//remove from map, THEN change x/y coordinates
unit_remove_map_pc(sd,clrtype);
sd->mapindex = mapindex;
@ -8122,7 +8123,7 @@ int pc_checkbaselevelup(map_session_data *sd) {
}
}
clif_misceffect( sd->bl, NOTIFYEFFECT_BASE_LEVEL_UP );
npc_script_event(sd, NPCE_BASELVUP); //LORDALFA - LVLUPEVENT
npc_script_event( *sd, NPCE_BASELVUP );
if(sd->status.party_id)
party_send_levelup(sd);
@ -8180,7 +8181,8 @@ int pc_checkjoblevelup(map_session_data *sd)
if (pc_checkskill(sd, SG_DEVIL) && ((sd->class_&MAPID_THIRDMASK) == MAPID_STAR_EMPEROR || pc_is_maxjoblv(sd)) )
clif_status_change(&sd->bl, EFST_DEVIL1, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
npc_script_event(sd, NPCE_JOBLVUP);
npc_script_event( *sd, NPCE_JOBLVUP );
for (; job_level <= sd->status.job_level; job_level++)
achievement_update_objective(sd, AG_GOAL_LEVEL, 1, job_level);
@ -9540,8 +9542,12 @@ void pc_damage(map_session_data *sd,struct block_list *src,unsigned int hp, unsi
}
TIMER_FUNC(pc_close_npc_timer){
TBL_PC *sd = map_id2sd(id);
if(sd) pc_close_npc(sd,data);
map_session_data* sd = map_id2sd( id );
if( sd != nullptr ){
pc_close_npc( sd, static_cast<int>( data ) );
}
return 0;
}
/**
@ -9768,7 +9774,7 @@ int pc_dead(map_session_data *sd,struct block_list *src)
if (src && src->type == BL_PC) {
map_session_data *ssd = (map_session_data *)src;
pc_setparam(ssd, SP_KILLEDRID, sd->bl.id);
npc_script_event(ssd, NPCE_KILLPC);
npc_script_event( *ssd, NPCE_KILLPC );
if (battle_config.pk_mode&2) {
ssd->status.manner -= 5;

View File

@ -932,11 +932,11 @@ static const char* skip_word(const char* p)
static int add_word(const char* p)
{
char* word;
int len;
int i;
// Check for a word
len = skip_word(p) - p;
size_t len = skip_word( p ) - p;
if( len == 0 )
disp_error_message("script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes.", p);
@ -16870,7 +16870,7 @@ BUILDIN_FUNC(insertchar)
{
const char *str = script_getstr(st,2);
const char *c = script_getstr(st,3);
int index = script_getnum(st,4);
size_t index = script_getnum( st, 4 );
char *output;
size_t len = strlen(str);
@ -17130,7 +17130,8 @@ BUILDIN_FUNC(implode)
//-------------------------------------------------------
BUILDIN_FUNC(sprintf)
{
unsigned int len, argc = 0, arg = 0, buf2_len = 0;
unsigned int argc = 0, arg = 0;
size_t buf2_len = 0;
const char* format;
char* p;
char* q;
@ -17142,7 +17143,7 @@ BUILDIN_FUNC(sprintf)
// Fetch init data
format = script_getstr(st, 2);
argc = script_lastdata(st)-2;
len = strlen(format);
size_t len = strlen( format );
// Skip parsing, where no parsing is required.
if(len == 0) {
@ -17271,7 +17272,7 @@ BUILDIN_FUNC(sprintf)
// Implements C sscanf.
//-------------------------------------------------------
BUILDIN_FUNC(sscanf){
unsigned int argc, arg = 0, len;
unsigned int argc, arg = 0;
struct script_data* data;
map_session_data* sd = nullptr;
const char* str;
@ -17288,7 +17289,7 @@ BUILDIN_FUNC(sscanf){
format = script_getstr(st, 3);
argc = script_lastdata(st)-3;
len = strlen(format);
size_t len = strlen(format);
if (len != 0 && strlen(str) == 0) {
@ -17439,7 +17440,7 @@ BUILDIN_FUNC(replacestr)
int count = 0;
int numFinds = 0;
int i = 0, f = 0;
size_t i = 0, f = 0;
if(findlen == 0) {
ShowError("script:replacestr: Invalid search length.\n");
@ -17520,7 +17521,6 @@ BUILDIN_FUNC(countstr)
bool usecase = true;
int numFinds = 0;
int i = 0, f = 0;
if(findlen == 0) {
ShowError("script:countstr: Invalid search length.\n");
@ -17538,8 +17538,8 @@ BUILDIN_FUNC(countstr)
}
}
for(; i < inputlen; i++) {
for(f = 0; f <= findlen; f++) {
for( size_t i = 0; i < inputlen; i++ ){
for( size_t f = 0; f <= findlen; f++ ){
if(f == findlen) { //complete match
numFinds++;
i += findlen - 1;
@ -21356,8 +21356,10 @@ BUILDIN_FUNC(bg_info)
case BG_INFO_MAPS: {
size_t i;
for (i = 0; i < bg->maps.size(); i++)
setd_sub_str(st, nullptr, ".@bgmaps$", i, mapindex_id2name(bg->maps[i].mapindex), nullptr);
for( i = 0; i < bg->maps.size(); i++ ){
setd_sub_str( st, nullptr, ".@bgmaps$", static_cast<int>( i ), mapindex_id2name( bg->maps[i].mapindex ), nullptr );
}
setd_sub_num(st, nullptr, ".@bgmapscount", 0, i, nullptr);
script_pushint(st, i);
break;

View File

@ -216,7 +216,7 @@ int skill_get_weapontype( uint16 skill_id ) { skill_get(s
int skill_get_ammotype( uint16 skill_id ) { skill_get(skill_id, skill_db.find(skill_id)->require.ammo); }
int skill_get_ammo_qty( uint16 skill_id, uint16 skill_lv ) { skill_get_lv(skill_id, skill_lv, skill_db.find(skill_id)->require.ammo_qty); }
int skill_get_state( uint16 skill_id ) { skill_get(skill_id, skill_db.find(skill_id)->require.state); }
int skill_get_status_count( uint16 skill_id ) { skill_get(skill_id, skill_db.find(skill_id)->require.status.size()); }
size_t skill_get_status_count( uint16 skill_id ) { skill_get(skill_id, skill_db.find(skill_id)->require.status.size()); }
int skill_get_spiritball( uint16 skill_id, uint16 skill_lv ) { skill_get_lv(skill_id, skill_lv, skill_db.find(skill_id)->require.spiritball); }
sc_type skill_get_sc(int16 skill_id) { if (!skill_check(skill_id)) return SC_NONE; return skill_db.find(skill_id)->sc; }
@ -7545,7 +7545,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
}
else {
int abra_skill_id = 0, abra_skill_lv, checked = 0, checked_max = abra_db.size() * 3;
int abra_skill_id = 0, abra_skill_lv;
size_t checked = 0, checked_max = abra_db.size() * 3;
do {
auto abra_spell = abra_db.random();

View File

@ -534,7 +534,6 @@ int skill_get_hp( uint16 skill_id ,uint16 skill_lv );
int skill_get_mhp( uint16 skill_id ,uint16 skill_lv );
int skill_get_sp( uint16 skill_id ,uint16 skill_lv );
int skill_get_ap( uint16 skill_id, uint16 skill_lv );
int skill_get_status_count( uint16 skill_id );
int skill_get_hp_rate( uint16 skill_id, uint16 skill_lv );
int skill_get_sp_rate( uint16 skill_id, uint16 skill_lv );
int skill_get_ap_rate( uint16 skill_id, uint16 skill_lv );
@ -543,7 +542,7 @@ int skill_get_weapontype( uint16 skill_id );
int skill_get_ammotype( uint16 skill_id );
int skill_get_ammo_qty( uint16 skill_id, uint16 skill_lv );
int skill_get_state(uint16 skill_id);
int skill_get_status_count( uint16 skill_id );
size_t skill_get_status_count( uint16 skill_id );
int skill_get_spiritball( uint16 skill_id, uint16 skill_lv );
unsigned short skill_dummy2skill_id(unsigned short skill_id);

View File

@ -1682,7 +1682,7 @@ int status_damage(struct block_list *src,struct block_list *target,int64 dhp, in
npc_event(sd, bg->die_event.c_str(), 0);
}
npc_script_event(sd,NPCE_DIE);
npc_script_event( *sd, NPCE_DIE );
}
return (int)(hp+sp+ap);

View File

@ -211,8 +211,9 @@ TIMER_FUNC(unit_teleport_timer){
else if(*mast_tid != tid || bl == nullptr)
return 0;
else {
TBL_PC *msd = unit_get_master(bl);
if(msd && !check_distance_bl(&msd->bl, bl, data)) {
map_session_data* msd = unit_get_master( bl );
if( msd != nullptr && !check_distance_bl( &msd->bl, bl, static_cast<int>( data ) ) ){
*mast_tid = INVALID_TIMER;
unit_warp(bl, msd->bl.m, msd->bl.x, msd->bl.y, CLR_TELEPORT );
} else // No timer needed
@ -706,7 +707,8 @@ TIMER_FUNC(unit_delay_walktoxy_timer){
* @return 1: Success 0: Fail (No valid bl or target)
*/
TIMER_FUNC(unit_delay_walktobl_timer){
struct block_list *bl = map_id2bl(id), *tbl = map_id2bl(data);
block_list* bl = map_id2bl( id );
block_list* tbl = map_id2bl( static_cast<int>( data ) );
if(!bl || bl->prev == nullptr || tbl == nullptr)
return 0;

View File

@ -2331,7 +2331,7 @@ static bool quest_read_db( char *split[], size_t columns, size_t current ){
std::string title = split[17];
if (columns > 18) { // If the title has a comma in it, concatenate
int col = 18;
size_t col = 18;
while (col < columns) {
title += ',' + std::string(split[col]);
@ -2472,7 +2472,7 @@ static bool instance_readdb_sub( char* str[], size_t columns, size_t current ){
body << YAML::Key << "AdditionalMaps";
body << YAML::BeginMap;
for (int i = 7; i < columns; i++) {
for( size_t i = 7; i < columns; i++ ){
if (!strlen(str[i]))
continue;
@ -3110,7 +3110,8 @@ static bool itemdb_read_randomopt_group( char* str[], size_t columns, size_t cur
if (group == nullptr)
group_entry.rate.push_back((uint16)strtoul(str[1], nullptr, 10));
for (int j = 0, k = 2; k < columns && j < MAX_ITEM_RDM_OPT; k += 3) {
uint16 j = 0;
for( size_t k = 2; k < columns && j < MAX_ITEM_RDM_OPT; k += 3 ){
int32 randid_tmp = -1;
for (const auto &opt : rand_opt_db) {
@ -3876,7 +3877,7 @@ static bool skill_parse_row_createarrowdb( char* split[], size_t columns, size_t
std::map<std::string, uint32> item_created;
for (uint16 x = 1; x+1 < columns && split[x] && split[x+1]; x += 2) {
for( size_t x = 1; x + 1 < columns && split[x] && split[x + 1]; x += 2 ){
nameid = static_cast<t_itemid>(strtoul(split[x], nullptr, 10));
std::string* item_name = util::umap_find(aegis_itemnames, nameid);
@ -4132,7 +4133,7 @@ static bool mob_readdb_itemratio( char* str[], size_t columns, size_t current ){
if (columns-2 > 0) {
body << YAML::Key << "List";
body << YAML::BeginMap;
for (int i = 0; i < columns-2; i++) {
for( size_t i = 0; i < columns - 2; i++ ){
uint16 mob_id = static_cast<uint16>(strtoul(str[i+2], nullptr, 10));
std::string* mob_name = util::umap_find( aegis_mobnames, mob_id );
@ -4251,8 +4252,9 @@ static bool pc_readdb_job2( char* fields[], size_t columns, size_t current ){
stats.resize(MAX_LEVEL);
std::fill(stats.begin(), stats.end(), 0); // Fill with 0 so we don't produce arbitrary stats
for (int i = 1; i < columns; i++)
for( size_t i = 1; i < columns; i++ ){
stats[i - 1] = atoi(fields[i]);
}
job_db2.insert({ atoi(fields[0]), stats });
return true;

View File

@ -76,7 +76,7 @@ int read_map(char *name, struct map_data *m)
// Open map GAT
sprintf(filename,"data\\%s.gat", name);
gat = (unsigned char *)grfio_read(filename);
gat = (unsigned char *)grfio_reads(filename);
if (gat == nullptr)
return 0;