Eric Auer 26f116a217 More secure FAT handling: Avoids risk of cross links for example if
you reboot while files are open... Reported by Hardi Stengelin :-).

Always test *link_fat* result. New function is_free_cluster.  Extra
checks in *link_fat* (bad r/w offset, i/o, write) and *next_cluster*
(dangling chain: bad value in chain) with short messages (no msg for
bad chain start). Shorter "Bad DPB" (FAT size) msg.  More comments!

Update FS INFO on disk only when needed.  Check if chain EOF was at
expected place when extending.  Call *link_fat* before! *setdstart*
when a FAT chain grows.   [Q: Does 0 byte write always trunc? Why?]


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1358 6ac86273-5f31-0410-b378-82cca8765d1b
2008-03-08 20:31:37 +00:00
2002-11-18 22:54:03 +00:00
2004-01-26 00:40:41 +00:00
2004-05-23 18:29:18 +00:00
2007-05-21 03:46:06 +00:00

INTRODUCTION
------------
This archive contains the current FreeDOS Kernel, also
known as DOS-C, originally written by Pasquale J. Villani.

The FreeDOS Kernel is available from http://freedos.sourceforge.net.
It's also available from http://www.dosemu.org (somewhere on there).

The FreeDOS Kernel is also available through the FreeDOS Project at
http://www.freedos.org.

See the DOCS directory for more documentation and information about
the FreeDOS Kernel.

Contents of zip files:
ke20xx_16.zip : binaries for 8086, FAT16
ke20xx_32.zip : binaries for 8086, FAT16, FAT32
ke20xxsrc.zip : sources for the kernel

BUG REPORTS
-----------
If you have found a bug, think you have found a bug, or would just
like to make a suggestion, go to the bug tracking web page at
http://www.freedos.org/bugs/

Copyright
---------
DOS-C is (c) Copyright 1995, 1996 by Pasquale J. Villani
All Rights Reserved.
Description
FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2 or later. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project.
Readme 12 MiB
Languages
C 56.8%
Assembly 35.7%
Makefile 1.8%
C++ 1.8%
Shell 1.7%
Other 2.2%