Nov 22, 2024

Fixed a complie error when FF_FS_LOCK != 0. (appeared at R0.15)

Fixed a potential issue when work FatFs concurrency with FF_FS_REENTRANT, FF_VOLUMES >= 2 and FF_FS_LOCK > 0.

Made f_setlabel accept a volume label with Unix style volume ID when FF_STR_VOLUME_ID == 2.

Made FatFs update PercInUse field in exFAT VBR. (A preceding f_getfree is needed for the accuracy)
This commit is contained in:
Christopher Williams
2024-11-25 16:44:32 -07:00
parent b11f089319
commit 44b3c38b23
59 changed files with 940 additions and 939 deletions
+5 -4
View File
@@ -3,8 +3,6 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="up" title="FatFs" href="../00index_e.html">
<link rel="alternate" hreflang="ja" title="Japanese" href="../ja/setlabel.html">
<link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">
<title>FatFs - f_setlabel</title>
</head>
@@ -25,7 +23,7 @@ FRESULT f_setlabel (
<h4>Parameters</h4>
<dl class="par">
<dt>label</dt>
<dd>Pointer to the null-terminated string that specifies the volume label to be set.</dd>
<dd>Pointer to the null-terminated string that specifies the volume label to be set. If a null pointer is given, the function fails with <tt>FR_INVALID_DRIVE</tt>.</dd>
</dl>
</div>
@@ -49,7 +47,7 @@ FRESULT f_setlabel (
<div class="para desc">
<h4>Description</h4>
<p>When the string has a drive prefix, the volume label will be set to the volume specified by the drive prefix. Unix style volume ID cannot be used to specify the volume. If drive number is not specified, the volume label will be set to the default drive. If length of the given volume label is zero, the volume label on the volume will be removed. The format of the volume label is as shown below:</p>
<p>When the string has a drive prefix, the volume label will be set to the volume specified by the drive prefix. If drive number is not specified, the volume label will be set to the default drive. If length of the given volume label is zero, the volume label on the volume will be removed. The format of the volume label is as shown below:</p>
<ul>
<li>Up to 11 bytes long as conversion of OEM code page at FAT volume.</li>
<li>Up to 11 characters long at exFAT volume.</li>
@@ -77,6 +75,9 @@ FRESULT f_setlabel (
<span class="c">/* Remove volume label of the drive 2 */</span>
<em>f_setlabel</em>("2:");
<span class="c">/* Set volume label in Unix style volume id */</span>
<em>f_setlabel</em>("/tfcard/LOG DISK");
</pre>
</div>