C função getlogin_r()

Nausea

Power Member
Boas, estou com um problema em relação a esta função:

Código:
void funcao(){
char  username[255], hostname[255];
size_t length=255;

gethostname(hostname, length);
getlogin_r(username, length);
printf("machine: %s, user: %s\n", hostname, username);*/
while(condicao){
    if(condicao){
        if(condicao){
            printf("#-------------\n");
            printf("etc\n");
            .
            .
            .
            .
            .
            .
            .
    }}
}
printf("Acabei")
}
Output dos printfs:
machine: PC, user: nausea
#-------------
Acabei
A questão é a seguinte se eu tiver o programa assim como está ele não me vai correr o printf("etc"); e o resto do código parece que tipo salta pra fora de todos os ifs e while se eu meter a função getlogin_r(username, length); em comentário já corre.

Código:
void funcao(){
char  username[255], hostname[255];
size_t length=255;

gethostname(hostname, length);
//getlogin_r(username, length);
printf("machine: %s, user: %s\n", hostname, username);*/
while(condicao){
    if(condicao){
        if(condicao){
            printf("#-------------\n");
            printf("etc\n");
    }}
}
printf("Acabei")
}
output:
machine: PC, user: ??
#-------------
etc
Acabei
Eu só uso o getlogin pra obter o user e imprimir para o ecrã no printf de resto não uso em mais nenhum lado
 
As condições que eu não pus servem para abrir directorias, verificar se é uma pasta se sim abre e o while é para percorrer todas as pastas, eu não queria estar a por aqui o codigo todo porque isto para um trabalho e vários users estão a faze-lo também. Se possivel abstrairem-se das condições agradecia
 
Back
Topo