]> git.sven.stormbind.net Git - sven/exfat-utils.git/blobdiff - libexfat/lookup.c
Imported Upstream version 1.2.4
[sven/exfat-utils.git] / libexfat / lookup.c
index d65097689fb40c090410290aae149e044129b129..30b64108df127d8b112de346fa019cf1e51b36d7 100644 (file)
@@ -2,11 +2,12 @@
        lookup.c (02.09.09)
        exFAT file system implementation library.
 
        lookup.c (02.09.09)
        exFAT file system implementation library.
 
-       Copyright (C) 2010-2012  Andrew Nayenko
+       Free exFAT implementation.
+       Copyright (C) 2010-2016  Andrew Nayenko
 
 
-       This program is free software: you can redistribute it and/or modify
+       This program is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        it under the terms of the GNU General Public License as published by
-       the Free Software Foundation, either version 3 of the License, or
+       the Free Software Foundation, either version 2 of the License, or
        (at your option) any later version.
 
        This program is distributed in the hope that it will be useful,
        (at your option) any later version.
 
        This program is distributed in the hope that it will be useful,
@@ -14,8 +15,9 @@
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
 
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
 
-       You should have received a copy of the GNU General Public License
-       along with this program.  If not, see <http://www.gnu.org/licenses/>.
+       You should have received a copy of the GNU General Public License along
+       with this program; if not, write to the Free Software Foundation, Inc.,
+       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
 #include "exfat.h"
 */
 
 #include "exfat.h"
@@ -59,10 +61,7 @@ struct exfat_node* exfat_readdir(struct exfat* ef, struct exfat_iterator* it)
 
 static int compare_char(struct exfat* ef, uint16_t a, uint16_t b)
 {
 
 static int compare_char(struct exfat* ef, uint16_t a, uint16_t b)
 {
-       if (a >= ef->upcase_chars || b >= ef->upcase_chars)
-               return (int) a - (int) b;
-
-       return (int) le16_to_cpu(ef->upcase[a]) - (int) le16_to_cpu(ef->upcase[b]);
+       return (int) ef->upcase[a] - (int) ef->upcase[b];
 }
 
 static int compare_name(struct exfat* ef, const le16_t* a, const le16_t* b)
 }
 
 static int compare_name(struct exfat* ef, const le16_t* a, const le16_t* b)
@@ -145,14 +144,14 @@ int exfat_lookup(struct exfat* ef, struct exfat_node** node,
        return 0;
 }
 
        return 0;
 }
 
-static int is_last_comp(const char* comp, size_t length)
+static bool is_last_comp(const char* comp, size_t length)
 {
        const char* p = comp + length;
 
        return get_comp(p, &p) == 0;
 }
 
 {
        const char* p = comp + length;
 
        return get_comp(p, &p) == 0;
 }
 
-static int is_allowed(const char* comp, size_t length)
+static bool is_allowed(const char* comp, size_t length)
 {
        size_t i;
 
 {
        size_t i;
 
@@ -169,9 +168,9 @@ static int is_allowed(const char* comp, size_t length)
                case '<':
                case '>':
                case '|':
                case '<':
                case '>':
                case '|':
-                       return 0;
+                       return false;
                }
                }
-       return 1;
+       return true;
 }
 
 int exfat_split(struct exfat* ef, struct exfat_node** parent,
 }
 
 int exfat_split(struct exfat* ef, struct exfat_node** parent,