Annotation of ADD_ver_10/Notificaciones.c, revision 1.2
1.1 rico 1: /******************************************************************************/
2: /* MÓDULO: Notificaciones.c */
3: /* */
4: /* Este módulo contiene las funciones que anotan notificación de sucesos */
5: /* o errores en un fichero especial (notificaciones.log). */
6: /******************************************************************************/
7: /* Fecha: 16 de septiembre de 2005 */
8: /******************************************************************************/
9:
10: #include <stdio.h>
11: #include <stdlib.h>
12: #include <string.h>
13: #include <ctype.h>
14: #include <time.h>
15:
16: #include "defines.h"
17: #include "tipos.h"
18: #include "notificaciones.h"
19:
20: /* configuración */
21: extern struct argumentos configuracion;
22:
23:
24:
25: /* NOTIFICACIONES Y GESTIÓN DE ERRORES */
26:
27: void IniciarNotificaciones()
28: {
1.2 ! rico 29: time_t tiempo;
! 30: struct tm *ptr_tm;
! 31: FILE *handle;
! 32: char fichero[MAX_LINE];
! 33: char buffer[9];
! 34:
! 35: /* nombre del fichero de notificaciones */
! 36: strcpy(fichero, "notificaciones.log");
! 37:
! 38: /* abro el fichero de notificaciones y escribo una cabecera */
! 39: if((handle = fopen(fichero, "w")) != NULL)
! 40: {
! 41: fprintf(handle, "FICHERO DE NOTIFICACIONES\n");
! 42: /* OJO: el formato de fecha está en inglés */
! 43: /* esto no es ANSI
! 44: _strdate(buffer);
! 45: fprintf(handle, "Fecha %s \n", buffer);
! 46: _strtime(buffer);
! 47: fprintf(handle, "Hora %s \n\n", buffer);
! 48: */
! 49:
! 50: /* fecha y hora */
! 51: tiempo = time(NULL);
! 52: ptr_tm = localtime(&tiempo);
! 53: strftime(buffer, MAX_LINE, "%d/%m/%y", ptr_tm);
! 54: fprintf(handle, "Fecha %s \n", buffer);
! 55: strftime(buffer, MAX_LINE, "%H:%M:%S", ptr_tm);
! 56: fprintf(handle, "Hora %s \n\n", buffer);
! 57:
! 58:
! 59: if(fclose(handle))
! 60: {
! 61: fprintf(handle, "El fichero '%s' no se ha podido cerrar\n", fichero);
! 62: printf("El fichero '%s' no se ha podido cerrar\n", fichero);
! 63: }
! 64: }
! 65: else
! 66: {
! 67: printf("El fichero '%s' no se ha podido abrir\n", fichero);
! 68: printf("Pulse cualquier tecla para salir\n");
! 69: getchar();
! 70: exit(1);
! 71: }
1.1 rico 72: }
73:
74:
75: void Notificar(char *mensaje, unsigned char accion, unsigned char eco)
76: {
1.2 ! rico 77: FILE *handle;
! 78: char fichero[MAX_LINE];
1.1 rico 79:
1.2 ! rico 80: /* nombre del fichero de notificaciones */
! 81: strcpy(fichero, "notificaciones.log");
1.1 rico 82:
1.2 ! rico 83: /* escribo la notificación en el fichero y si no es posible aborto el programa */
! 84: if((handle = fopen(fichero, "a")) != NULL)
! 85: {
! 86: if(accion != NO_ERROR || configuracion.nivelnotificaciones != ERRORS)
! 87: fprintf(handle, "%s%s\n", accion!= NO_ERROR ? "ERROR: ": "", mensaje);
! 88:
! 89: if(fclose(handle))
! 90: {
! 91: fprintf(handle, "El fichero '%s' no se ha podido cerrar\n", fichero);
! 92: printf("El fichero '%s' no se ha podido cerrar\n", fichero);
! 93: }
! 94: }
! 95: else
! 96: {
! 97: printf("El fichero '%s' no se ha podido abrir\n", fichero);
! 98: printf("Pulse cualquier tecla para salir\n");
! 99: getchar();
! 100: exit(1);
! 101: }
! 102:
! 103: /* escribo el error en la pantalla */
! 104: if(eco == ECO_SI) printf("%s\n", mensaje);
! 105:
! 106: /* acción en función del parámetro */
! 107: switch(accion)
! 108: {
! 109: case ERROR_SALIR:
! 110: printf("\n\nERROR GRAVE\nPulse cualquier tecla para salir\n");
! 111: getchar();
! 112: exit(1);
! 113: break;
! 114:
! 115: case ERROR_SEGUIR:
! 116: printf("\n\nERROR LEVE\nPulse cualquier tecla para continuar\n");
! 117: getchar();
! 118: break;
! 119:
! 120: case NO_ERROR:
! 121: break;
! 122: }
1.1 rico 123: }
124:
125:
126: void NotificarConfiguracion()
127: {
1.2 ! rico 128: FILE *handle;
! 129: char fichero[MAX_LINE];
1.1 rico 130:
1.2 ! rico 131: /* nombre del fichero de notificaciones */
! 132: strcpy(fichero, "notificaciones.log");
1.1 rico 133:
1.2 ! rico 134: /* escribo la notificación en el fichero y si no es posible aborto el programa */
! 135: if((handle = fopen(fichero, "a")) != NULL)
! 136: {
! 137: /* sin cabecera, fecha NO, completo SI, comentarios NO, separador " "); */
! 138: SalvarConfiguracionFichero(handle, "", NO, SI, NO, ' ');
! 139:
! 140: /* SalvarConfiguracion(handle); */
! 141:
! 142: if(fclose(handle))
! 143: {
! 144: fprintf(handle, "El fichero '%s' no se ha podido cerrar\n", fichero);
! 145: printf("El fichero '%s' no se ha podido cerrar\n", fichero);
! 146: }
! 147: }
! 148: else
! 149: {
! 150: printf("El fichero '%s' no se ha podido abrir\n", fichero);
! 151: printf("Pulse cualquier tecla para salir\n");
! 152: getchar();
! 153: exit(1);
! 154: }
! 155: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>