diff options
Diffstat (limited to 'admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp')
-rw-r--r-- | admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp | 80 |
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); } // ________________________________________________________________________________________________________ |