[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH libext2 2/8] 10: Strict-Aliasing-Zeug gefixt
Neuere gccs mögen die Pointerakrobatik anscheinend nicht so sehr und
meckern dann über böses Aliasing. Wenn man es ein bisschen
übersichtlicher schreibt, ist er zufrieden.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
tests/10_dot_entry/test.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/10_dot_entry/test.c b/tests/10_dot_entry/test.c
index 3970a5d..605aa00 100644
--- a/tests/10_dot_entry/test.c
+++ b/tests/10_dot_entry/test.c
@@ -11,6 +11,7 @@
int run_test(ext2_fs_t* fs)
{
ext2_inode_t rootdir;
+ ext2_dirent_t *dirent;
char buf[4096];
ext2_fs_mount(fs);
@@ -23,13 +24,14 @@ int run_test(ext2_fs_t* fs)
test_interror("Block konnte nicht eingelesen werden");
}
- if (*((uint16_t*)((ext2_dirent_t*) buf)->name) != 0x002e) {
+ dirent = (ext2_dirent_t*) buf;
+ if (memcmp(dirent->name, ".", 2)) {
test_error("Verzeichniseintrag . erwartet");
}
- if (((ext2_dirent_t*) buf)->inode != 2) {
+ if (dirent->inode != 2) {
test_error("Verzeichniseintrag fuer . verweist auf falsche Inode",
- ((ext2_dirent_t*) buf)->inode);
+ dirent->inode);
}
ext2_inode_release(&rootdir);
--
1.8.1.4