mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-25 06:15:37 +03:00
Geoip: Make some natives UTF-8 safe.
This commit is contained in:
parent
6babcafbec
commit
178608c5f8
@ -114,7 +114,7 @@ static cell AMX_NATIVE_CALL amx_geoip_country(AMX *amx, cell *params)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], country, length >= params[3] ? params[3] : length); // TODO: make this utf8 safe.
|
return MF_SetAmxStringUTF8Char(amx, params[2], country, length, params[3] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// native geoip_city(const ip[], result[], len, id = -1);
|
// native geoip_city(const ip[], result[], len, id = -1);
|
||||||
@ -126,7 +126,7 @@ static cell AMX_NATIVE_CALL amx_geoip_city(AMX *amx, cell *params)
|
|||||||
const char *path[] = { "city", "names", getLang(params[4]), NULL };
|
const char *path[] = { "city", "names", getLang(params[4]), NULL };
|
||||||
const char *city = lookupString(ip, path, &length);
|
const char *city = lookupString(ip, path, &length);
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], city ? city : "", length >= params[3] ? params[3] : length); // TODO: make this utf8 safe.
|
return MF_SetAmxStringUTF8Char(amx, params[2], city ? city : "", length, params[3] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// native geoip_region_code(const ip[], result[], len);
|
// native geoip_region_code(const ip[], result[], len);
|
||||||
@ -160,7 +160,7 @@ static cell AMX_NATIVE_CALL amx_geoip_region_code(AMX *amx, cell *params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], finalLength ? code : "", finalLength >= params[3] ? params[3] : finalLength);
|
return MF_SetAmxString(amx, params[2], finalLength ? code : "", ke::Min(finalLength, params[3]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// native geoip_region_name(const ip[], result[], len, id = -1);
|
// native geoip_region_name(const ip[], result[], len, id = -1);
|
||||||
@ -172,7 +172,7 @@ static cell AMX_NATIVE_CALL amx_geoip_region_name(AMX *amx, cell *params)
|
|||||||
const char *path[] = { "subdivisions", "0", "names", getLang(params[4]), NULL }; // First result.
|
const char *path[] = { "subdivisions", "0", "names", getLang(params[4]), NULL }; // First result.
|
||||||
const char *region = lookupString(ip, path, &length);
|
const char *region = lookupString(ip, path, &length);
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], region ? region : "", length >= params[3] ? params[3] : length); // TODO: make this utf8 safe.
|
return MF_SetAmxStringUTF8Char(amx, params[2], region ? region : "", length, params[3] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// native geoip_timezone(const ip[], result[], len);
|
// native geoip_timezone(const ip[], result[], len);
|
||||||
@ -184,7 +184,7 @@ static cell AMX_NATIVE_CALL amx_geoip_timezone(AMX *amx, cell *params)
|
|||||||
const char *path[] = { "location", "time_zone", NULL };
|
const char *path[] = { "location", "time_zone", NULL };
|
||||||
const char *timezone = lookupString(ip, path, &length);
|
const char *timezone = lookupString(ip, path, &length);
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], timezone ? timezone : "", length >= params[3] ? params[3] : length);
|
return MF_SetAmxString(amx, params[2], timezone ? timezone : "", ke::Min(length, params[3]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// native geoip_latitude(const ip[]);
|
// native geoip_latitude(const ip[]);
|
||||||
@ -247,7 +247,7 @@ static cell AMX_NATIVE_CALL amx_geoip_continent_name(AMX *amx, cell *params)
|
|||||||
const char *path[] = { "continent", "names", getLang(params[4]), NULL };
|
const char *path[] = { "continent", "names", getLang(params[4]), NULL };
|
||||||
const char *continent = lookupString(ip, path, &length);
|
const char *continent = lookupString(ip, path, &length);
|
||||||
|
|
||||||
return MF_SetAmxString(amx, params[2], continent ? continent : "", length >= params[3] ? params[3] : length); // TODO: make this utf8 safe.
|
return MF_SetAmxStringUTF8Char(amx, params[2], continent ? continent : "", length, params[3] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user