Seba F
2003-10-24 00:44:52 UTC
Estoy modificando un código ageno y
tengo una funcion que en rasgos generales hace los siguiente.
int IsHome(int Prefijo) {
static int iCant = 0;
static int *iprtPref;
if(iCant == 0) {
/* Busco en un archivo una lista de prefijos */
/* Alloco memoria en *pref para almacenar la lista de prefijos*/
/* Cargo en *iprtPref la lista de prefijos que tenia en el arhivo */
/*Finalmente las variables quedan asignadas de esta forma*/
iCant = Cantidad de prefijos traidos
iprtPref = Queda cargado con todos los prefijos
}
/* Busco el Parametro Prefijo en *Pref +/
Si encuentro devuelvo 1 sino 0
}
Mi problema es que me esta dando un Core del tipo BUS ERROR (aleatoriamente) y
sospecho que puede originarse en esta función.
Mi duda es: que comportamiento toma la variable estatica iprtPref una vez que
alloco memoria?
Aparentemente esa memoria queda allocada hasta que finalice el programa,
pero quiero saber si esto es realmente es asi!
Desde ya muchas gracias
tengo una funcion que en rasgos generales hace los siguiente.
int IsHome(int Prefijo) {
static int iCant = 0;
static int *iprtPref;
if(iCant == 0) {
/* Busco en un archivo una lista de prefijos */
/* Alloco memoria en *pref para almacenar la lista de prefijos*/
/* Cargo en *iprtPref la lista de prefijos que tenia en el arhivo */
/*Finalmente las variables quedan asignadas de esta forma*/
iCant = Cantidad de prefijos traidos
iprtPref = Queda cargado con todos los prefijos
}
/* Busco el Parametro Prefijo en *Pref +/
Si encuentro devuelvo 1 sino 0
}
Mi problema es que me esta dando un Core del tipo BUS ERROR (aleatoriamente) y
sospecho que puede originarse en esta función.
Mi duda es: que comportamiento toma la variable estatica iprtPref una vez que
alloco memoria?
Aparentemente esa memoria queda allocada hasta que finalice el programa,
pero quiero saber si esto es realmente es asi!
Desde ya muchas gracias