]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blob - meminfo.c
Versión preliminar del programa del TP. Falta evaluar ecuaciones.
[z.facultad/75.42/calculadora.git] / meminfo.c
1 /* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=0 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 2:
6  * Programa calculadora.
7  *
8  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9  * Puede copiar, modificar y distribuir este programa bajo los términos de
10  * la licencia GPL (http://www.gnu.org/).
11  *
12  * Creado: sáb ago 30 20:08:45 ART 2003
13  *
14  * $Id$
15  */
16
17 #include "meminfo.h"
18 #include <stdlib.h>
19 #include <string.h>
20
21 MemInfo* MemInfo_new(void* ptr, size_t bytes, const char* fname, size_t fline) {
22     /* Aloco memoria. */
23     MemInfo* mi = malloc(sizeof(MemInfo));
24     /* Si la obtuve, inicializo con los datos y la hora actual. */
25     if (mi) {
26         mi->pointer  = ptr;
27         mi->bytes    = bytes;
28         mi->time     = time(NULL);
29         mi->fileline = fline;
30         /* Reservo memoria para hacer la copia del nombre del archivo. */
31         mi->filename = malloc(sizeof(char) * (strlen(fname) + 1));
32         /* Copio el nombre del archivo. */
33         strcpy(mi->filename, fname);
34     }
35     /* Devuelvo el nuevo puntero. */
36     return mi;
37 }
38
39 void MemInfo_delete(MemInfo* mi) {
40     /* Libero primero la memoria del nombre del archivo. */
41     if (mi) {
42         free(mi->filename);
43     }
44     /* Libero la memoria del MemInfo. */
45     free(mi);
46 }
47