summaryrefslogtreecommitdiffstats
path: root/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp')
-rw-r--r--admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp80
1 files changed, 51 insertions, 29 deletions
diff --git a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
index 6f4a4785..382f839a 100644
--- a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
+++ b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
@@ -218,6 +218,7 @@ BOOLEAN respuestaSondeo(SOCKET *socket_c, TRAMA* ptrTrama) {
}
}
strcat(ptrTrama->parametros, "\r");
+ liberaMemoria(Ipes);
if (!mandaTrama(socket_c, ptrTrama)) {
errorLog(modulo, 26, FALSE);
return (FALSE);
@@ -761,7 +762,6 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)"
" VALUES(%d,%s,%s,0x%s,%s,%d,%d,0)",
ido, disk, par, cpt, tam, idsfi, idsoi);
- errorInfo(modulo,sqlstr);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
@@ -808,7 +808,6 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
" idperfilsoft=%d"
" WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
cpt, tam, idsfi, idsoi, 0, 0, ido, disk, par);
- errorInfo(modulo,sqlstr);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);
@@ -869,8 +868,7 @@ int checkDato(Database db, Table tbl, char *dato, const char*tabla,
return (0);
}
if (tbl.ISEOF()) { // Software NO existente
- sprintf(sqlstr, "INSERT INTO %s (%s) VALUES('%s')", tabla, nomdato,
- dato);
+ sprintf(sqlstr, "INSERT INTO %s (%s) VALUES('%s')", tabla, nomdato, dato);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog); // Error al acceder al registro
errorInfo(modulo, msglog);
@@ -1269,6 +1267,7 @@ BOOLEAN enviaComando(TRAMA* ptrTrama, const char *estado)
close(tbsockets[idx].sock); // Cierra el socket del cliente hasta nueva disponibilidad
}
}
+ liberaMemoria(Ipes);
return (TRUE);
}
//______________________________________________________________________________________________________
@@ -2222,6 +2221,7 @@ BOOLEAN actualizaHardware(Database db, Table tbl, char* hrd, char*ido,
char msglog[LONSTD], sqlstr[LONSQL];
int idtipohardware, idperfilhard;
int lon, i, j, aux;
+ bool retval;
char *tbHardware[MAXHARDWARE];
int tbidhardware[MAXHARDWARE];
char *dualHardware[2], descripcion[250], strInt[LONINT], *idhardwares;
@@ -2297,8 +2297,7 @@ BOOLEAN actualizaHardware(Database db, Table tbl, char* hrd, char*ido,
}
if (tbl.ISEOF()) { // Hardware NO existente
- sprintf(sqlstr,
- "INSERT hardwares (idtipohardware,descripcion,idcentro,grupoid) "
+ sprintf(sqlstr, "INSERT hardwares (idtipohardware,descripcion,idcentro,grupoid) "
" VALUES(%d,'%s',%s,0)", idtipohardware,
dualHardware[1], idc);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
@@ -2357,9 +2356,13 @@ BOOLEAN actualizaHardware(Database db, Table tbl, char* hrd, char*ido,
npc, tbidhardware, lon)) {
errorLog(modulo, 55, FALSE);
errorInfo(modulo, msglog);
- return (FALSE);
+ retval=FALSE;
}
- return (TRUE);
+ else {
+ retval=TRUE;
+ }
+ liberaMemoria(idhardwares);
+ return (retval);
}
// ________________________________________________________________________________________________________
// Función: cuestionPerfilHardware
@@ -2402,14 +2405,16 @@ BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido,
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
if (tbl.ISEOF()) { // No existe un perfil hardware con esos componentes de componentes hardware, lo crea
sprintf(sqlstr, "INSERT perfileshard (descripcion,idcentro,grupoid)"
- " VALUES('Perfil hardware (%s) ',%s,0)", npc, idc);
+ " VALUES('Perfil hardware (%s) ',%s,0)", npc, idc);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
// Recupera el identificador del nuevo perfil hardware
@@ -2417,23 +2422,25 @@ BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al leer
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
if (!tbl.ISEOF()) { // Si existe registro
if (!tbl.Get("identificador", nwidperfilhard)) {
tbl.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
// Crea la relación entre perfiles y componenetes hardware
for (i = 0; i < lon; i++) {
- sprintf(sqlstr,
- "INSERT perfileshard_hardwares (idperfilhard,idhardware)"
+ sprintf(sqlstr, "INSERT perfileshard_hardwares (idperfilhard,idhardware)"
" VALUES(%d,%d)", nwidperfilhard, tbidhardware[i]);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
@@ -2441,6 +2448,7 @@ BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido,
if (!tbl.Get("idperfilhard", nwidperfilhard)) {
tbl.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
@@ -2451,6 +2459,7 @@ BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
@@ -2461,26 +2470,29 @@ BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
/* Eliminar Perfiles hardware que quedan húerfanos */
sprintf(sqlstr, "DELETE FROM perfileshard WHERE idperfilhard NOT IN"
- " (SELECT DISTINCT idperfilhard from ordenadores)");
+ " (SELECT DISTINCT idperfilhard FROM ordenadores)");
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
/* Eliminar Relación de hardwares con Perfiles hardware que quedan húerfanos */
- sprintf(sqlstr,
- "DELETE FROM perfileshard_hardwares WHERE idperfilhard NOT IN"
- " (SELECT idperfilhard from perfileshard)");
+ sprintf(sqlstr, "DELETE FROM perfileshard_hardwares WHERE idperfilhard NOT IN"
+ " (SELECT idperfilhard FROM perfileshard)");
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
+ liberaMemoria(sqlstr);
return (TRUE);
}
// ________________________________________________________________________________________________________
@@ -2577,6 +2589,7 @@ BOOLEAN RESPUESTA_InventarioSoftware(SOCKET *socket_c, TRAMA* ptrTrama) {
BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,
char* ido, char* npc, char* idc) {
int i, j, lon, aux, idperfilsoft;
+ bool retval;
char *tbSoftware[MAXSOFTWARE];
int tbidsoftware[MAXSOFTWARE];
char msglog[LONSTD], sqlstr[LONSQL], strInt[LONINT], *idsoftwares;
@@ -2635,8 +2648,7 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,
}
if (tbl.ISEOF()) { // Software NO existente
- sprintf(sqlstr,
- "INSERT INTO softwares (idtiposoftware,descripcion,idcentro,grupoid)"
+ sprintf(sqlstr, "INSERT INTO softwares (idtiposoftware,descripcion,idcentro,grupoid)"
" VALUES(2,'%s',%s,0)", tbSoftware[i], idc);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
@@ -2695,9 +2707,13 @@ BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par,
npc, par, tbidsoftware, lon)) {
errorLog(modulo, 83, FALSE);
errorInfo(modulo, msglog);
- return (FALSE);
+ retval=FALSE;
}
- return (TRUE);
+ else {
+ retval=TRUE;
+ }
+ liberaMemoria(idsoftwares);
+ return (retval);
}
// ________________________________________________________________________________________________________
// Función: CuestionPerfilSoftware
@@ -2741,11 +2757,12 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
if (tbl.ISEOF()) { // No existe un perfil software con esos componentes de componentes software, lo crea
sprintf(sqlstr, "INSERT perfilessoft (descripcion,idcentro,grupoid)"
- " VALUES('Perfil Software (%s, Part:%s) ',%s,0)", npc, par, idc);
+ " VALUES('Perfil Software (%s, Part:%s) ',%s,0)", npc, par, idc);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
@@ -2756,23 +2773,25 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al leer
tbl.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
if (!tbl.ISEOF()) { // Si existe registro
if (!tbl.Get("identificador", nwidperfilsoft)) {
tbl.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
// Crea la relación entre perfiles y componenetes software
for (i = 0; i < lon; i++) {
- sprintf(sqlstr,
- "INSERT perfilessoft_softwares (idperfilsoft,idsoftware)"
+ sprintf(sqlstr, "INSERT perfilessoft_softwares (idperfilsoft,idsoftware)"
" VALUES(%d,%d)", nwidperfilsoft, tbidsoftware[i]);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
@@ -2780,19 +2799,19 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
if (!tbl.Get("idperfilsoft", nwidperfilsoft)) {
tbl.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
if (idperfilsoftware != nwidperfilsoft) { // No coinciden los perfiles
// Actualiza el identificador del perfil software del ordenador
- sprintf(sqlstr,
- "UPDATE ordenadores_particiones SET idperfilsoft=%d,idimagen=0"
- " WHERE idordenador=%s AND numpar=%s", nwidperfilsoft, ido,
- par);
+ sprintf(sqlstr, "UPDATE ordenadores_particiones SET idperfilsoft=%d,idimagen=0"
+ " WHERE idordenador=%s AND numpar=%s", nwidperfilsoft, ido, par);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
}
@@ -2807,6 +2826,7 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
/* Eliminar Perfiles software que quedan húerfanos */
@@ -2817,17 +2837,19 @@ BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido,
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
/* Eliminar Relación de softwares con Perfiles software que quedan húerfanos */
- sprintf(sqlstr,
- "DELETE FROM perfilessoft_softwares WHERE idperfilsoft NOT IN"
- " (SELECT idperfilsoft from perfilessoft)");
+ sprintf(sqlstr, "DELETE FROM perfilessoft_softwares WHERE idperfilsoft NOT IN"
+ " (SELECT idperfilsoft from perfilessoft)");
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
+ liberaMemoria(sqlstr);
return (false);
}
+ liberaMemoria(sqlstr);
return (TRUE);
}
// ________________________________________________________________________________________________________