OSDN Git Service

Generic I/O for directories: switch exfat_set_label().
authorrelan <relan@users.noreply.github.com>
Thu, 22 Dec 2016 05:50:42 +0000 (08:50 +0300)
committerrelan <relan@users.noreply.github.com>
Mon, 16 Jan 2017 06:29:08 +0000 (09:29 +0300)
libexfat/node.c

index a1f9b17..2fa0b97 100644 (file)
@@ -1358,12 +1358,10 @@ int exfat_set_label(struct exfat* ef, const char* label)
        if (entry.length == 0)
                entry.type ^= EXFAT_ENTRY_VALID;
 
-       if (exfat_pwrite(ef->dev, &entry, sizeof(struct exfat_entry_label),
-                       co2o(ef, cluster, offset)) < 0)
-       {
-               exfat_error("failed to write label entry");
-               return -EIO;
-       }
+       rc = write_entries(ef, ef->root, (struct exfat_entry*) &entry, 1, offset);
+       if (rc != 0)
+               return rc;
+
        strcpy(ef->label, label);
        return 0;
 }