mirror of https://git.48k.eu/ogserver
Versión 1.0.4, #526: Soporte para clientes con varios discos.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3121 a21b9725-9963-47de-94b9-378ad31fedc9master
parent
6fc28cdc46
commit
99f74d8114
|
@ -707,22 +707,25 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
{
|
{
|
||||||
char msglog[LONSTD], sqlstr[LONSQL];
|
char msglog[LONSTD], sqlstr[LONSQL];
|
||||||
int lon, p, c, i, dato, swu, idsoi, idsfi,k;
|
int lon, p, c, i, dato, swu, idsoi, idsfi,k;
|
||||||
char *ptrPar[MAXPAR], *ptrCfg[5], *ptrDual[2], tbPar[LONSTD];
|
char *ptrPar[MAXPAR], *ptrCfg[6], *ptrDual[2], tbPar[LONSTD];
|
||||||
char *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición
|
char *disk, *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición
|
||||||
char modulo[] = "actualizaConfiguracion()";
|
char modulo[] = "actualizaConfiguracion()";
|
||||||
|
|
||||||
lon = sprintf(tbPar, "(");
|
lon = sprintf(tbPar, "(");
|
||||||
p = splitCadena(ptrPar, cfg, '\n');
|
p = splitCadena(ptrPar, cfg, '\n');
|
||||||
for (i = 0; i < p; i++) {
|
for (i = 0; i < p; i++) {
|
||||||
c = splitCadena(ptrCfg, ptrPar[i], '\t');
|
c = splitCadena(ptrCfg, ptrPar[i], '\t');
|
||||||
par = cpt = sfi = soi = tam = NULL;
|
disk = par = cpt = sfi = soi = tam = NULL;
|
||||||
splitCadena(ptrDual, ptrCfg[0], '=');
|
splitCadena(ptrDual, ptrCfg[0], '=');
|
||||||
par = ptrDual[1]; // Número de partición
|
disk = ptrDual[1]; // Número de disco
|
||||||
|
|
||||||
splitCadena(ptrDual, ptrCfg[1], '=');
|
splitCadena(ptrDual, ptrCfg[1], '=');
|
||||||
|
par = ptrDual[1]; // Número de partición
|
||||||
|
|
||||||
|
splitCadena(ptrDual, ptrCfg[2], '=');
|
||||||
cpt = ptrDual[1]; // Código de partición
|
cpt = ptrDual[1]; // Código de partición
|
||||||
|
|
||||||
k=splitCadena(ptrDual, ptrCfg[2], '=');
|
k=splitCadena(ptrDual, ptrCfg[3], '=');
|
||||||
if(k==2){
|
if(k==2){
|
||||||
sfi = ptrDual[1]; // Sistema de ficheros
|
sfi = ptrDual[1]; // Sistema de ficheros
|
||||||
/* Comprueba existencia del sistema de ficheros instalado */
|
/* Comprueba existencia del sistema de ficheros instalado */
|
||||||
|
@ -731,7 +734,7 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
else
|
else
|
||||||
idsfi=0;
|
idsfi=0;
|
||||||
|
|
||||||
k=splitCadena(ptrDual, ptrCfg[3], '=');
|
k=splitCadena(ptrDual, ptrCfg[4], '=');
|
||||||
if(k==2){ // Sistema operativo detecdtado
|
if(k==2){ // Sistema operativo detecdtado
|
||||||
soi = ptrDual[1]; // Nombre del S.O. instalado
|
soi = ptrDual[1]; // Nombre del S.O. instalado
|
||||||
/* Comprueba existencia del sistema operativo instalado */
|
/* Comprueba existencia del sistema operativo instalado */
|
||||||
|
@ -740,16 +743,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
else
|
else
|
||||||
idsoi=0;
|
idsoi=0;
|
||||||
|
|
||||||
splitCadena(ptrDual, ptrCfg[4], '=');
|
splitCadena(ptrDual, ptrCfg[5], '=');
|
||||||
tam = ptrDual[1]; // Tamaño de la partición
|
tam = ptrDual[1]; // Tamaño de la partición
|
||||||
|
|
||||||
lon += sprintf(tbPar + lon, "%s,", par);
|
lon += sprintf(tbPar + lon, "%s,", par);
|
||||||
|
|
||||||
sprintf(
|
sprintf(sqlstr, "SELECT numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso"
|
||||||
sqlstr,
|
" FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
|
||||||
"SELECT numpar,codpar,tamano,idsistemafichero,idnombreso"
|
ido, disk, par);
|
||||||
" FROM ordenadores_particiones WHERE idordenador=%d AND numpar=%s",
|
|
||||||
ido, par);
|
|
||||||
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
||||||
errorLog(modulo, 21, FALSE);
|
errorLog(modulo, 21, FALSE);
|
||||||
db.GetErrorErrStr(msglog);
|
db.GetErrorErrStr(msglog);
|
||||||
|
@ -757,12 +758,10 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
if (tbl.ISEOF()) { // Si no existe el registro
|
if (tbl.ISEOF()) { // Si no existe el registro
|
||||||
sprintf(
|
sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)"
|
||||||
sqlstr,
|
" VALUES(%d,%s,%s,0x%s,%s,%d,%d,0)",
|
||||||
"INSERT INTO ordenadores_particiones(idordenador,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)"
|
ido, disk, par, cpt, tam, idsfi, idsoi);
|
||||||
" VALUES(%d,%s,0x%s,%s,%d,%d,0)", ido, par, cpt, tam,
|
errorInfo(modulo,sqlstr);
|
||||||
idsfi, idsoi);
|
|
||||||
|
|
||||||
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
|
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
|
||||||
db.GetErrorErrStr(msglog);
|
db.GetErrorErrStr(msglog);
|
||||||
errorInfo(modulo, msglog);
|
errorInfo(modulo, msglog);
|
||||||
|
@ -807,10 +806,9 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
" idnombreso=%d,"
|
" idnombreso=%d,"
|
||||||
" idimagen=%d,"
|
" idimagen=%d,"
|
||||||
" idperfilsoft=%d"
|
" idperfilsoft=%d"
|
||||||
" WHERE idordenador=%d AND numpar=%s"\
|
" WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
|
||||||
, cpt, tam, idsfi,
|
cpt, tam, idsfi, idsoi, 0, 0, ido, disk, par);
|
||||||
idsoi, 0, 0, ido, par);
|
errorInfo(modulo,sqlstr);
|
||||||
|
|
||||||
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
||||||
errorLog(modulo, 21, FALSE);
|
errorLog(modulo, 21, FALSE);
|
||||||
db.GetErrorErrStr(msglog);
|
db.GetErrorErrStr(msglog);
|
||||||
|
@ -822,10 +820,8 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
|
||||||
}
|
}
|
||||||
lon += sprintf(tbPar + lon, "%d)", 0);
|
lon += sprintf(tbPar + lon, "%d)", 0);
|
||||||
// Eliminar particiones almacenadas que ya no existen
|
// Eliminar particiones almacenadas que ya no existen
|
||||||
sprintf(
|
sprintf(sqlstr, "DELETE FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar NOT IN %s",
|
||||||
sqlstr,
|
ido, disk, tbPar);
|
||||||
"DELETE FROM ordenadores_particiones WHERE idordenador=%d AND numpar NOT IN %s",
|
|
||||||
ido, tbPar);
|
|
||||||
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
|
||||||
errorLog(modulo, 21, FALSE);
|
errorLog(modulo, 21, FALSE);
|
||||||
db.GetErrorErrStr(msglog);
|
db.GetErrorErrStr(msglog);
|
||||||
|
|
Loading…
Reference in New Issue