OSDN Git Service

Update volume label in struct ef on exfat_set_label().
authorresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>
Mon, 20 May 2013 16:41:35 +0000 (16:41 +0000)
committerresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>
Mon, 20 May 2013 16:41:35 +0000 (16:41 +0000)
git-svn-id: http://exfat.googlecode.com/svn/trunk@356 60bc1c72-a15a-11de-b98f-4500b42dc123

libexfat/node.c

index 3295299..c34452a 100644 (file)
@@ -389,7 +389,7 @@ static int readdir(struct exfat* ef, const struct exfat_node* parent,
                                goto error;
                        }
                        if (utf16_to_utf8(ef->label, label->name,
-                                               sizeof(ef->label), EXFAT_ENAME_MAX) != 0)
+                                               sizeof(ef->label) - 1, EXFAT_ENAME_MAX) != 0)
                                goto error;
                        break;
 
@@ -1051,5 +1051,6 @@ int exfat_set_label(struct exfat* ef, const char* label)
 
        exfat_pwrite(ef->dev, &entry, sizeof(struct exfat_entry_label),
                        co2o(ef, cluster, offset));
+       strcpy(ef->label, label);
        return 0;
 }