From: <sch...@sh...> - 2001-11-20 20:50:01
|
hello everybody, I wrote a program which is using lirc. everything works fine, but there's one problem .. the program is finished by the remote. it shuts down, but if I run it again the 'exit' - key is send again, and the program is shutting down again. so .. is it my fault ? (i included the 'main' code, so one may check my coding :) is it some sort of feature of lircd ? wolfgang ----8<------------------------------------ // my main function .. int main(int argc, char *argv[]) { start_session(); hydra(); // calling hydra, which handles everything end_session(-1); } int hydra(void) { struct lirc_config *config; mymutex = SDL_CreateMutex(); printf("hydra beginn\n"); if(lirc_init(PROGNAME, 1) == -1) { printf("lirc init fehler\n"); end_session(1); } if(lirc_readconfig(NULL, &config, NULL) == 0) { char *code; char *c; int ret; int die; die=0; while(lirc_nextcode(&code)==0) { if(code==NULL) { continue; } while((ret=lirc_code2char(config,code,&c))==0 && c!=NULL) { // ... else if(strcmp(c, "DAT/TAPE1") == 0) { printf("DAT/TAPE1\n"); // this is the exit key .. printf("DIE ..\n"); die=1; } // ... else { printf("no action for \"%s\"\n", c); } free(code); } if(ret==-1) { printf("[ret] returned value is -1 !"); break; } if(die==1) { printf("die == 1\n"); break; } } lirc_freeconfig(config); } lirc_deinit(); printf("t_hydra ende\n"); return(0); } |