linux-l: defrag.c

Oliver Bandel oliver at first.in-berlin.de
Mi Mai 20 12:18:48 CEST 1998


Hallo!



On Tue, 19 May 1998, Ralf Baerwaldt wrote:

> 
> Hallo !
> 
> Ich will zum ersten Mal unter Linux ein Programm
> uebersetzen und habe auch wenig Erfahrung mit C.
> Nun komme ich an einer Fehlermeldung nicht weiter:
> --------------------------
> /tmp/defrag/defrag-0.6 > make
> gcc -Wall -O2 -fomit-frame-pointer -DEXT2FS -c -o defrag.ext2.o defrag.c
> defrag.c: In function `walk_inode':
> defrag.c:396: warning: passing arg 1 of `walk_zone' from incompatible pointer type
> defrag.c:397: warning: passing arg 1 of `walk_zone_ind' from incompatible pointer type
> defrag.c:398: warning: passing arg 1 of `walk_zone_dind' from incompatible pointer type
> defrag.c:400: warning: passing arg 1 of `walk_zone_tind' from incompatible pointer type

Die Warnings machen keine Probleme, es sind ja nur Warnings.
Überprüfe aber dennoch mal Deine Pointer; Du übergibst wohl Argumente,
deren Pointer-Typ nicht dem der aufgerufenen Funktion entsprechen.

Mich wundert übrigens, daß Du sagst, daß Du keine große Ahnung von C hast,
ackerst aber gleich zu Anfang schon auf Inodes rum :-)
Filesystem-Spezie?

> defrag.c: In function `read_fixed_zones':
> defrag.c:422: `EXT2_FIRST_INO' undeclared (first use this function)
[...]

Dein EXT2_FIRST_INO ist unbekannt. Du solltest dafür sorgen,
daß Du vorher definierst, was Du hinterher nutzt. :-)

[...]
>    #define EXT2_FIRST_INO(s)       ((s)->u.ext2_sb.s_first_ino)
[...]

Dies ist ein Makro. Es erwartet Argumente.

Vielleicht ist das das Problem?

Tschüß,
    Oliver





Mehr Informationen über die Mailingliste linux-l