Pandora FMS community forums

Full Version: problema con el modulo free disk.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hola.

He estado mirando el modulo del free disk, en un principio funciona bien y te devuelve el valor en Mb. hasta aqui todo bien.

El problema que he encontrado es cuando el espacio libre son gigas, entonces te retorna un valor "falso", en mi caso tengo en la C: 139 Gigas libres y el agente me dice 3,794 Megas, el resto de unidades las hace bien.

Entonces se me ha ocurrido mirar los includes, y la consulta wmi la hace bien.
pandora_wmi.cc
...
Pandora_Wmi::getDiskFreeSpace
...
query = "SELECT Size, FreeSpace FROM Win32_LogicalDisk WHERE DeviceID = \"" + disk_id + "\"";
...

el problema biene cuando:
line: 168 space = Pandora_Strutils:Confusedtrtoulong (space_str);

que llama al conversor.

pandora_strutils.cc
Pandora_Strutils:Confusedtrtoulong (const string str) {
unsigned long long result;

if (! std:Confusedscanf (str.c_str (), "%I64d", &result)) {
throw Invalid_Conversion ();
}

return result;
}

que por lo que yo entiendo es un long int, que a mi entender tiene de rango

signed -> −2,147,483,648 to 2,147,483,647
unsigned -> 0 to 4,294,967,295

con lo cual un valor de 150,003,126,272 se pasa de largo.

Si me equivoco corregidme, gracias

Saludos