error programacion ps3

hola
http://paste.ideaslabs.com/show/aI4ROj8Zfe
ayuda a los ke sepan lenguaje de programacion c

error :
la ps3 se blokea si no esta conectada a internet
el error er la funcion if_up
Por curiosidad, ¿Que estas intentando hacer?
Up, a ver si te ayudan
(mensaje borrado)
pues hombre .... hay varias cosas por depurar, en primer lugar me gustaría saber que se supone que hace la linea 6, o que piensas tu que hace esa linea...

static int if_up_with(int index) {
int timeout_count = 10;
int state;
int ret;

(void)index; // <--- esto que es

y en segundo lugar tu bucle para intentar obtener ip durante 10 vueltas no funciona ... estás llamando a la funcion con index=0, y en tu if que cuenta las vueltas tienes esto
if (index && timeout_count < 0) {
return (0);
}

mientras index sea 0 nunca entrarás ahí ... y darás muchas mas vueltas de las que esperas ... lo demás mas o menos tiene su logica

bueno ... tendrás que encontrar la documentacion de esta funcion
sys_timer_usleep(500 * 1000);
normalmente los sleep van en milisegundos, y si esta función sigue la lógica estarías esperando 500 segundos ... creo recordar que los sleeps en la ps2 eran miles de miles .. así que casi seguro que este tb sea así y eso corresponde a medio segundo .. pero seria bueno encontrar la documentación de eso
neofar escribió:pues hombre .... hay varias cosas por depurar, en primer lugar me gustaría saber que se supone que hace la linea 6, o que piensas tu que hace esa linea...

static int if_up_with(int index) {
int timeout_count = 10;
int state;
int ret;

(void)index; // <--- esto que es

y en segundo lugar tu bucle para intentar obtener ip durante 10 vueltas no funciona ... estás llamando a la funcion con index=0, y en tu if que cuenta las vueltas tienes esto
if (index && timeout_count < 0) {
return (0);
}

mientras index sea 0 nunca entrarás ahí ... y darás muchas mas vueltas de las que esperas ... lo demás mas o menos tiene su logica

bueno ... tendrás que encontrar la documentacion de esta funcion
sys_timer_usleep(500 * 1000);
normalmente los sleep van en milisegundos, y si esta función sigue la lógica estarías esperando 500 segundos ... creo recordar que los sleeps en la ps2 eran miles de miles .. así que casi seguro que este tb sea así y eso corresponde a medio segundo .. pero seria bueno encontrar la documentación de eso


Eso es lo que había pensado yo, pero borré el mensaje porque dice que el error se lo da la función if_up, por lo que entiendo que el resto (incluido ese for en el que a falta de saber si index va a tomar alguna vez valor -1 puede ser un bucle infinito) funciona bien.

Un saludo.
6 respuestas