} /* ParseStatusLine */ private void ParseOpenFileCommand(string line) { line = line.Substring(8); int idx = line.IndexOf(". "); if (idx < 0) { return; } curFileName = line.Substring(0, idx); line = line.Substring(idx); idx = line.IndexOf("StartLBA="); if (idx < 0) { return; } line = line.Substring(idx + 9); idx = line.IndexOf(','); if (idx < 0) { return; } string startLBAstr = line.Substring(0, idx).Trim(); curFileStartSector = (uint)OSservices.HexStrToLong(startLBAstr); currentFileControlBlock = new SipperFileControlBlock(); currentFileControlBlock.FileName = curFileName; currentFileControlBlock.StartSector = curFileStartSector; currentFileControlBlock.SetSipperDateTimeStamp(statusDateTime); fileControlBlocks.Add(currentFileControlBlock); } /* ParseOpenFileCommand */
private void ParseStatusLine(string line) { string startSectorStr = GetStatusLineField(line, "bs="); if (startSectorStr == null) { return; } string currentSectorStr = GetStatusLineField(line, "bc="); if (currentSectorStr == null) { return; } string endSectorStr = GetStatusLineField(line, "be="); if (endSectorStr == null) { return; } string dateStr = GetStatusLineField(line, "da="); if (dateStr == null) { return; } string timeStr = GetStatusLineField(line, "ti="); if (timeStr == null) { return; } string recordStatusStr = GetStatusLineField(line, "rs="); if (recordStatusStr == null) { return; } startSector = (uint)OSservices.HexStrToLong(startSectorStr); currentSector = (uint)OSservices.HexStrToLong(currentSectorStr); endSector = (uint)OSservices.HexStrToLong(endSectorStr); recording = (recordStatusStr == "r"); statusDateTime = new SipperDateTimeStamp(dateStr, timeStr); if ((currentFileControlBlock != null) && recording) { currentFileControlBlock.EndSector = currentSector; } if (updateCurrentFileControlBlockEndSector) { if (currentFileControlBlock != null) { currentFileControlBlock.EndSector = currentSector; updateCurrentFileControlBlockEndSector = false; } } } /* ParseStatusLine */