[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