fixed bad prodos date
This commit is contained in:
parent
068f382c87
commit
4767c317d0
|
@ -26,7 +26,10 @@ public class CPMTextFile extends TextFile
|
||||||
{
|
{
|
||||||
String line = getLine (ptr);
|
String line = getLine (ptr);
|
||||||
text.append (line + "\n");
|
text.append (line + "\n");
|
||||||
ptr += line.length () + 2;
|
ptr += line.length () + 1;
|
||||||
|
if (ptr < buffer.length && buffer[ptr - 1] == 0x0D && buffer[ptr] == 0x0A)
|
||||||
|
++ptr;
|
||||||
|
|
||||||
while (ptr < buffer.length && buffer[ptr] == 0)
|
while (ptr < buffer.length && buffer[ptr] == 0)
|
||||||
++ptr;
|
++ptr;
|
||||||
}
|
}
|
||||||
|
@ -43,8 +46,8 @@ public class CPMTextFile extends TextFile
|
||||||
{
|
{
|
||||||
StringBuilder line = new StringBuilder ();
|
StringBuilder line = new StringBuilder ();
|
||||||
|
|
||||||
int max = buffer.length - 1;
|
// int max = buffer.length - 1;
|
||||||
while (ptr < max && buffer[ptr] != 0x0D && buffer[ptr + 1] != 0x0A)
|
while (ptr < buffer.length && buffer[ptr] != 0x0D && buffer[ptr] != 0x0A)
|
||||||
line.append ((char) (buffer[ptr++] & 0x7F));
|
line.append ((char) (buffer[ptr++] & 0x7F));
|
||||||
|
|
||||||
return line.toString ();
|
return line.toString ();
|
||||||
|
|
|
@ -217,8 +217,9 @@ class DirectoryEntry implements AppleFileSource
|
||||||
appleFile = new DefaultAppleFile (name, exactBuffer, "COM File");
|
appleFile = new DefaultAppleFile (name, exactBuffer, "COM File");
|
||||||
else if ("DVR".equals (type))
|
else if ("DVR".equals (type))
|
||||||
appleFile = new DefaultAppleFile (name, exactBuffer, "DVR File");
|
appleFile = new DefaultAppleFile (name, exactBuffer, "DVR File");
|
||||||
else if ("ASM".equals (type) || "DOC".equals (type) || "TXT".equals (type)
|
else if ("ASM".equals (type) || "DOC".equals (type) || "COB".equals (type)
|
||||||
|| "LET".equals (type) || "ALX".equals (type) || "SRC".equals (type)
|
|| "HLP".equals (type) || "TXT".equals (type) || "LET".equals (type)
|
||||||
|
|| "ALX".equals (type) || "SRC".equals (type) || "H".equals (type)
|
||||||
|| exactBuffer[len - 1] == 0x1A)
|
|| exactBuffer[len - 1] == 0x1A)
|
||||||
appleFile = new CPMTextFile (name, exactBuffer);
|
appleFile = new CPMTextFile (name, exactBuffer);
|
||||||
else if ("BAS".equals (type))
|
else if ("BAS".equals (type))
|
||||||
|
|
|
@ -231,6 +231,11 @@ public final class Utility
|
||||||
int minute = buffer[offset + 2] & 0x3F;
|
int minute = buffer[offset + 2] & 0x3F;
|
||||||
int hour = buffer[offset + 3] & 0x1F;
|
int hour = buffer[offset + 3] & 0x1F;
|
||||||
|
|
||||||
|
if (hour > 23)
|
||||||
|
hour = 0;
|
||||||
|
if (minute > 59)
|
||||||
|
minute = 0;
|
||||||
|
|
||||||
if (year < 70)
|
if (year < 70)
|
||||||
year += 2000;
|
year += 2000;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue