Главная
zabbix, zabbix_sender, windows & utf-8
Рейтинг пользователей: / 0
ХудшийЛучший 
blogs - boba
Автор: BoBa   
28.11.2012 16:07

суть в том, что в zabbix zabbix_sender под *nix может послать русские значения в items, а под windows нет. ниже небольшой патчик. и это при заявке всесторонней поддержки unicode еще с 1.8.

-int zabbix_main(int argc, char **argv)
+int main(int argc, char **argv)
 
+#ifdef WIN32
+ int wmain (int argc, wchar_t *wargv[]) {
+ char **argv;
+ int ret;
+ int i;
+
+ if ((argv = calloc(argc+1, sizeof(char*))) == NULL)
+ return 1;
+ for (i = 0; i < argc; i++){
+ int n = WideCharToMultiByte (CP_UTF8, 0, wargv[i], -1, NULL, 0, NULL, NULL);
+ argv[i] = malloc (n);
+ WideCharToMultiByte (CP_UTF8, 0, wargv[i], -1, argv[i], n, NULL, NULL);
+ }
+ ret = zabbix_main(argc, argv);
+
+ for (i=0; i < argc; i++ ){
+ free (argv[i]);
+ }
+ free(argv);
+ return ret;
+ }
+#else
+ int main (int argc, char *argv[]) {
+ return zabbix_main(argc, argv);
+ }
+#endif