private bool Comment(CcsComment_t c) { SLock_t slock = null; int level = 1, line0 = line; if (c.start[1] != 0) { slock = LockCh(); GetCh(); if (ch != c.start[1]) { ResetCh(slock); return false; } UnlockCh(slock); } GetCh(); for (;;) { if (ch == c.end[0]) { if (c.end[1] == 0) { if (--level == 0) break; } else { slock = LockCh(); GetCh(); if (ch == c.end[1]) { UnlockCh(slock); if (--level == 0) break; } else { ResetCh(slock); } } } else if (c.nested && ch == c.start[0]) { if (c.start[1] == 0) { ++level; } else { slock = LockCh(); GetCh(); if (ch == c.start[1]) { UnlockCh(slock); ++level; } else { ResetCh(slock); } } } else if (ch == CcsBuffer_t.EoF) { return true; } GetCh(); } oldEols = line - line0; GetCh(); return true; }
private bool Comment(CcsComment_t c) { SLock_t slock = null; int level = 1, line0 = line; if (c.start[1] != 0) { slock = LockCh(); GetCh(); if (ch != c.start[1]) { ResetCh(slock); return(false); } UnlockCh(slock); } GetCh(); for (;;) { if (ch == c.end[0]) { if (c.end[1] == 0) { if (--level == 0) { break; } } else { slock = LockCh(); GetCh(); if (ch == c.end[1]) { UnlockCh(slock); if (--level == 0) { break; } } else { ResetCh(slock); } } } else if (c.nested && ch == c.start[0]) { if (c.start[1] == 0) { ++level; } else { slock = LockCh(); GetCh(); if (ch == c.start[1]) { UnlockCh(slock); ++level; } else { ResetCh(slock); } } } else if (ch == CcsBuffer_t.EoF) { return(true); } GetCh(); } oldEols = line - line0; GetCh(); return(true); }