Hozzászólások
-
SzerzőBejegyzés
-
🙂
Lehet, hogy sz@r a gépem, de még így is szegmens hiba…
Index-kiírás:
printf(„%d. %sn”,nof,d_file->d_name)
Még ha beírom, hogy a page*PAGE_SIZE értékét is, ezt írja ki:Code:DEBUG: nc.c 92. strdup
439. fish_indent (foglalt: 450)
*** glibc detected *** malloc(): memory corruption: 0x080d55d8 ***
Félbeszakítva (core dumped)GTK-s módszer: szintén.
Próbáld már ki, nehogy már csak nálam legyen a hiba…
Lehet, hogy sz@r a gépem, de még így is szegmens hiba…
Index-kiírás:
printf(„%d. %sn”,nof,d_file->d_name)
Még ha beírom, hogy a page*PAGE_SIZE értékét is, ezt írja ki:Code:DEBUG: nc.c 92. strdup
439. fish_indent (foglalt: 450)
*** glibc detected *** malloc(): memory corruption: 0x080d55d8 ***
Félbeszakítva (core dumped)GTK-s módszer: szintén.
Próbáld már ki, nehogy már csak nálam legyen a hiba…
Azt leszámítva, hogy a fórum órája egy órát késik CET-hez képest 🙂
/ha nem állítottad át nyári időszámításra vagy mire/Azt leszámítva, hogy a fórum órája egy órát késik CET-hez képest 🙂
/ha nem állítottad át nyári időszámításra vagy mire/Így se jó (igen, az nc_strcat valami olyasmi):
$ ./ncc /
…
20. include
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
. (könyvtár)
.. (könyvtár)
bin (könyvtár)
dev (könyvtár)
etc (könyvtár)
lib (könyvtár)
mnt (könyvtár)
pub (könyvtár)
srv (könyvtár)
tmp (könyvtár)
sys (könyvtár)
var (könyvtár)
usr (könyvtár)
boot (könyvtár)
home (könyvtár)
proc (könyvtár)
sbin (könyvtár)
root (könyvtár)
Storage (könyvtár)
include (könyvtár)$ ./ncc /lib
…
461. libgphoto2_port
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
DEBUG: nc.c 91. strdup
[red]462.[/red] libXevie.la
*** glibc detected *** malloc(): memory corruption: 0x080f5ec8 ***
Félbeszakítva (core dumped)$ ./ncc /bin
…
382. kbdrate
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
DEBUG: nc.c 91. strdup
[red]383.[/red] ior-decode
*** glibc detected *** malloc(): memory corruption: 0x080947c8 ***
Félbeszakítva (core dumped)Egyszerűen nem értem. Szinte minden könyvtárban máskor dobja a hibát (valahol nem is, ahol „kevés” fájl van).
Így se jó (igen, az nc_strcat valami olyasmi):
$ ./ncc /
…
20. include
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
. (könyvtár)
.. (könyvtár)
bin (könyvtár)
dev (könyvtár)
etc (könyvtár)
lib (könyvtár)
mnt (könyvtár)
pub (könyvtár)
srv (könyvtár)
tmp (könyvtár)
sys (könyvtár)
var (könyvtár)
usr (könyvtár)
boot (könyvtár)
home (könyvtár)
proc (könyvtár)
sbin (könyvtár)
root (könyvtár)
Storage (könyvtár)
include (könyvtár)$ ./ncc /lib
…
461. libgphoto2_port
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
DEBUG: nc.c 91. strdup
[red]462.[/red] libXevie.la
*** glibc detected *** malloc(): memory corruption: 0x080f5ec8 ***
Félbeszakítva (core dumped)$ ./ncc /bin
…
382. kbdrate
DEBUG: nc.c 96. strdup ok
DEBUG: nc.c 99. stat
DEBUG: nc.c 104. stat ok
DEBUG: nc.c 91. strdup
[red]383.[/red] ior-decode
*** glibc detected *** malloc(): memory corruption: 0x080947c8 ***
Félbeszakítva (core dumped)Egyszerűen nem értem. Szinte minden könyvtárban máskor dobja a hibát (valahol nem is, ahol „kevés” fájl van).
Arra én is 😉
Arra én is 😉
Értem, mire gondolsz. Csak a probléma, hogy így is szegmens hibát produkál 🙁
30, 31-ig eljut, aztán kalap…Code:int nc_readdir (char *dir , nc_file **files ) {
DIR *d_dir;
struct dirent *d_file;
struct stat prop;
int max = 30;
/// return value – Number Of Files
int nof=0 , idx=0;d_dir = opendir(dir);
if (!d_dir) {
#ifdef DEBUG
pr_debug(„couldn’t read”);
#endif
return -1;
}#ifdef DEBUG
pr_debug(„malloc files”);
#endif
(*files) = malloc(sizeof(nc_file)*(max));
if ( (*files) == NULL ) return -1;
#ifdef DEBUG
pr_debug(„mallocing ok”);
#endifwhile ( (d_file=readdir(d_dir)) != NULL ) {
nof++;
if ( max == (nof) ) {
#ifdef DEBUG
pr_debug(„reallocing”);
#endif
max += 50;
#ifdef DEBUG
printf(„max = %dn”,max);
#endif
(*files) = realloc(*files,sizeof(nc_file)*max);
if ((*files) == NULL) {
return -1;
}
#ifdef DEBUG
pr_debug(„realloc ok”);
#endif
}
#ifdef DEBUG
pr_debug(„strdup”);
printf(„%d. %sn”,nof,d_file->d_name);
#endif
(*files)[idx].name = strdup((char*)(d_file->d_name));
#ifdef DEBUG
pr_debug(„strdup ok”);
#endif
#ifdef DEBUG
pr_debug(„stat”);
#endif
(*files)[idx].props=malloc(sizeof(stat));
// INNEN KIVETTEM AZ nc_strcat-os SORT!!!
#ifdef DEBUG
pr_debug(„stat ok”);
#endif
idx++;
}
closedir(d_dir);
return nof;
}Javaslom, hogy próbáld ki, biztos valami hülyeség, amit így „ránézésre” nem veszel észre. Én meg működés közben sem…
-
SzerzőBejegyzés