Update dosfstools

* Version 3.0.28
* Update filenames in source
* Remove unnecessary symlink to fsck
* Commit "Recode short filenames from DOS codepage (default 437)." has
  been reverted since we do not have access to iconv
* Commits cherry-picked on top of 3.0.28:
    - mkfs.fat: fix incorrect int type
    - Prevent out of bound array read in date_dos2unix()

Change-Id: I50310235c62ec2e6bc90afcd10f2814d3afb5113
diff --git a/dosfstools/Android.mk b/dosfstools/Android.mk
index 67cc5df..b241a73 100644
--- a/dosfstools/Android.mk
+++ b/dosfstools/Android.mk
@@ -2,53 +2,51 @@
 LOCAL_PATH:= $(call my-dir)
 
 include $(CLEAR_VARS)
-LOCAL_SRC_FILES := src/boot.c src/check.c src/common.c \
-	src/fat.c src/file.c src/io.c src/lfn.c src/dosfsck.c
-#LOCAL_C_INCLUDES := $(KERNEL_HEADERS)
+LOCAL_SRC_FILES := \
+    src/boot.c \
+    src/check.c \
+    src/common.c \
+    src/fat.c \
+    src/file.c \
+    src/io.c \
+    src/lfn.c \
+    src/fsck.fat.c
+
 LOCAL_SHARED_LIBRARIES := libc
 LOCAL_CFLAGS += -D_USING_BIONIC_
 LOCAL_CFLAGS += -DUSE_ANDROID_RETVALS
-LOCAL_MODULE = dosfsck
+LOCAL_MODULE = fsck.fat
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
 LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
 include $(BUILD_EXECUTABLE)
 
-# build symlink
-SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,fsck_msdos)
-$(SYMLINKS): DOSFSCK_BINARY := $(LOCAL_MODULE)
-$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
-	@echo "Symlink: $@ -> $(DOSFSCK_BINARY)"
-	@mkdir -p $(dir $@)
-	@rm -rf $@
-	$(hide) ln -sf $(DOSFSCK_BINARY) $@
-
 include $(CLEAR_VARS)
-LOCAL_MODULE := fsck_msdos_symlink
-LOCAL_MODULE_TAGS := optional
-LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS)
-include $(BUILD_PHONY_PACKAGE)
-SYMLINKS :=
+LOCAL_SRC_FILES := \
+    src/boot.c \
+    src/check.c \
+    src/common.c \
+    src/fat.c \
+    src/file.c \
+    src/io.c \
+    src/lfn.c \
+    src/fatlabel.c
 
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := src/boot.c src/check.c src/common.c src/fat.c \
-	src/file.c src/io.c src/lfn.c src/dosfslabel.c
-#LOCAL_C_INCLUDES := $(KERNEL_HEADERS)
 LOCAL_C_INCLUDES += bionic/libc/kernel/common
 LOCAL_SHARED_LIBRARIES := libc
 LOCAL_CFLAGS += -D_USING_BIONIC_
-LOCAL_MODULE = dosfslabel
+LOCAL_MODULE = fatlabel
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
 LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
 include $(BUILD_EXECUTABLE)
 
 include $(CLEAR_VARS)
-LOCAL_SRC_FILES := src/mkdosfs.c
-#LOCAL_C_INCLUDES := $(KERNEL_HEADERS)
+LOCAL_SRC_FILES := src/mkfs.fat.c
+
 LOCAL_SHARED_LIBRARIES := libc
 LOCAL_CFLAGS += -D_USING_BIONIC_
-LOCAL_MODULE = mkdosfs
+LOCAL_MODULE = mkfs.fat
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
 LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin