readdir() problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi folks


I'm running on a Helio pda, r3912 chip, little endian. I've used crosstool to create a cross compiler with

gcc 3.2.3
glibc 2.2.3

When I run the following code (linked static or dynamic):

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>

main(int argc, char **argv){
       DIR* dir;
       struct dirent* entry;
       int len;
       int hlen;
       char* name;
       char* buf;

       printf("in dirtest main()\n");
       fprintf(stderr,"in dirtest main()\n");
       dir = opendir("/bin");
       if (dir == 0) {
         fprintf(stderr,"opendir returned 0\n");
       }
       else{
               fprintf(stderr,"opendir returned dir=%x\n",dir);
       }

       entry=readdir(dir);
       fprintf(stderr,"after readdir\n");
       printf("errno=%d\n",errno);
       if (entry != 0){
         fprintf(stderr,"entry=%x\n",entry);
         name = entry->d_name;
         fprintf(stderr,"name=%s\n",name);
         while ((entry = readdir(dir)) != 0) {
               name = entry->d_name;
               fprintf(stderr,"name=%s\n",name);
         }
       }
       else{
         fprintf(stderr,"readdir failed and you can't reference entry\n");
       }

closedir(dir);

}

I get the following output:

/bin # ./dirtest
in dirtest main()
opendir returned dir=100000c8

I can only assume its crashing after entry=readdir(dir)
Does anyone know of any readdir() problems in linux-mips world?

Mark

_________________________________________________________________
Learn how to choose, serve, and enjoy wine at Wine @ MSN. http://wine.msn.com/




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux