Remove an unuseful if check in ext4.c.
[lwext4.git] / src / ext4_dir.c
index 438d386e3c7b37ac67c8b4cfe6028765b3002810..b11d6c292df610082f5429852ea40e4bb1e2b6b9 100644 (file)
  * @brief Directory handle procedures.
  */
 
-#include "ext4_config.h"
-#include "ext4_types.h"
-#include "ext4_misc.h"
-#include "ext4_errno.h"
-#include "ext4_debug.h"
-
-#include "ext4_trans.h"
-#include "ext4_dir.h"
-#include "ext4_dir_idx.h"
-#include "ext4_crc32.h"
-#include "ext4_inode.h"
-#include "ext4_fs.h"
+#include <ext4_config.h>
+#include <ext4_types.h>
+#include <ext4_misc.h>
+#include <ext4_errno.h>
+#include <ext4_debug.h>
+
+#include <ext4_trans.h>
+#include <ext4_dir.h>
+#include <ext4_dir_idx.h>
+#include <ext4_crc32.h>
+#include <ext4_inode.h>
+#include <ext4_fs.h>
 
 #include <string.h>
 
@@ -314,9 +314,21 @@ void ext4_dir_write_entry(struct ext4_sblock *sb, struct ext4_dir_en *en,
        case EXT4_INODE_MODE_SOFTLINK:
                ext4_dir_en_set_inode_type(sb, en, EXT4_DE_SYMLINK);
                break;
+       case EXT4_INODE_MODE_CHARDEV:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_CHRDEV);
+               break;
+       case EXT4_INODE_MODE_BLOCKDEV:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_BLKDEV);
+               break;
+       case EXT4_INODE_MODE_FIFO:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_FIFO);
+               break;
+       case EXT4_INODE_MODE_SOCKET:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_SOCK);
+               break;
        default:
-               /* FIXME: right now we only support 3 inode type. */
-               ext4_assert(0);
+               /* FIXME: unsupported filetype */
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_UNKNOWN);
        }
 
        /* Set basic attributes */