diff --git a/src/Makefile.inc b/src/Makefile.inc
index 0ccd349..29cf969 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -11,6 +11,7 @@
 fstest-y += filo-fs-vfs.ads
 fstest-y += filo-fs.adb
 fstest-y += filo-fs.ads
+fstest-y += filo.adb
 fstest-y += filo.ads
 fstest-y += vfs.c
 
diff --git a/src/filo-fs-ext2.adb b/src/filo-fs-ext2.adb
index bab0c69..903820b 100644
--- a/src/filo-fs-ext2.adb
+++ b/src/filo-fs-ext2.adb
@@ -779,19 +779,6 @@
       File_Name_Max : constant := 255;
       Root_Inode : constant := 2;
 
-      function Str_Buf_Equal (Str : String; Buf : Buffer_Type) return Boolean
-      with
-         Pre => Str'Length <= Buf'Length
-      is
-      begin
-         for I in Str'Range loop
-            if Character'Pos (Str (I)) /= Buf (Buf'First + (I - Str'First)) then
-               return False;
-            end if;
-         end loop;
-         return True;
-      end Str_Buf_Equal;
-
       File_Inode : Inode_Index;
       File_Pos : File_Length;
    begin
@@ -829,7 +816,7 @@
          declare
             Dir_Entry_Header_Length : constant := 4 + 2 + 1 + 1;
             Dir_Entry_Header : Buffer_Type (0 .. Dir_Entry_Header_Length - 1);
-            Dir_Entry_Name : Buffer_Type (0 .. File_Name_Max - 1);
+            Dir_Entry_Name : Buffer_Type (0 .. File_Name'Length - 1);
             Entry_File_Pos : File_Offset := File_Pos;
             Dir_Entry_Length : File_Length;
             Inode : Inode_0_Index;
@@ -858,11 +845,11 @@
                   Buf      => Dir_Entry_Name,
                   Len      => Len);
                pragma Warnings (GNATprove, On, """Entry_File_Pos"" is set*but not used");
-               if Len < File_Name'Length then
+               if Len /= File_Name'Length then
                   return;
                end if;
 
-               Success := Str_Buf_Equal (File_Name, Dir_Entry_Name);
+               Success := Equal (File_Name, Dir_Entry_Name);
                if Success then
                   File_Inode := Inode;
                   exit;
diff --git a/src/filo.adb b/src/filo.adb
new file mode 100644
index 0000000..89e26b9
--- /dev/null
+++ b/src/filo.adb
@@ -0,0 +1,13 @@
+package body FILO is
+
+   function Equal (Str : String; Buf : Buffer_Type) return Boolean is
+   begin
+      for I in Str'Range loop
+         if Character'Pos (Str (I)) /= Buf (Buf'First + (I - Str'First)) then
+            return False;
+         end if;
+      end loop;
+      return True;
+   end Equal;
+
+end FILO;
diff --git a/src/filo.ads b/src/filo.ads
index 21f1545..e4d559c 100644
--- a/src/filo.ads
+++ b/src/filo.ads
@@ -61,4 +61,8 @@
    is
       (Ch = ' ' or (Tab <= Ch and Ch <= Carriage_Return));
 
+   function Equal (Str : String; Buf : Buffer_Type) return Boolean
+   with
+      Pre => Str'Length = Buf'Length;
+
 end FILO;
