reactos/sdk/lib/fslib/vfatlib/check
Timo Kreuzer b275f24406 [VFATLIB] Use RtlStringCbPrintfA instead of sprintf
Fixes GCC 8 warning:
sdk/lib/fslib/vfatlib/check/boot.c:173:27: error: '%02x' directive writing between 2 and 8 bytes into a region of size between 0 and 15 [-Werror=format-overflow=]
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
                           ^~~~
sdk/lib/fslib/vfatlib/check/boot.c:173:16: note: directive argument in the range [0, 2147483647]
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
                ^~~~~~~~~~~~~~~~
sdk/lib/fslib/vfatlib/check/boot.c:173:3: note: 'sprintf' output between 8 and 31 bytes into a destination of size 20
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    (unsigned)(p - (uint8_t *) b), *p, *q);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
..
boot.c [VFATLIB] Use RtlStringCbPrintfA instead of sprintf 2019-07-20 13:56:18 +02:00
boot.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
byteorder.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
byteswap1.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
byteswap.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ChangeLog [VFATLIB] Addendum to 469289e 2018-05-28 23:38:00 +02:00
check.c [VFATLIB] Don't attempt to fix volume if not allowed 2018-10-21 11:12:10 +02:00
check.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
common.c [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
common.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
compiler.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
COPYING Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
dosfsck.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
fat.c [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
fat.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
file.c [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
file.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
fsck.fat.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
io.c [VFATLIB] Drop a hack no longer needed after f87d9ca 2018-11-25 10:41:22 +01:00
io.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
lfn.c [VFATLIB] Don't forcibly delete LFN when not in RW mode 2019-02-14 10:13:32 +01:00
lfn.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
msdos_fs.h [VFATLIB] Upgrade fsck.fat to 4.1 2018-05-28 23:18:25 +02:00
README [VFATLIB] Addendum to 469289e 2018-05-28 23:38:00 +02:00
rosglue.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
swab.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00

dosfstools consists of the programs mkfs.fat, fsck.fat and fatlabel to create,
check and label file systems of the FAT family.  The dosfstools are licensed
under the GNU GPL version 3 or later. See the file COPYING for details.


### Build Requirements

dosfstools recommends libudev. It is used in mkfs.fat to collect additional
information about the device to format in order to refuse potentially unsafe
operations without additional confirmation.

The test suite requires the tool xxd (available as part of the vim
distribution).


### Installing

dosfstools are built using an autoconf/automake system, so the standard method
applies:

  ./configure
  make
  make install

You need to have superuser privileges in order to install into the standard
system wide locations.

The ./configure script has an option --enable-compat-symlinks that will
configure the build to symlink older names of the tools to the current ones on
installation. These are dosfsck, fsck.msdos and fsck.vfat for fsck.fat, mkdosfs,
mkfs.msdos and mkfs.vfat for mkfs.fat and dosfslabel for fatlabel.


### Running the test suite

The test suite can be run with "make check" after configuring. Note that if
xxd isn't available, all tests will be skipped and nothing actually tested.

During the tests temporary files of multiple GB in size will be created, but the
actual data content is not more than a few MB. The operating system and the
filesystem the tests are executed on should support sparse files, otherwise the
tests will be resource intensive.


### Building from the VCS repository

If you are working directly from a git clone of the official dosfstools
repository, you will find that you can not run "./configure" straight away
because it, like other autogenerated files for the build system, is not included
in the repository.

First, autoconf and automake have to be installed.  Then you can run
"autoreconf -i" to generate all the required files.