CodeStyle fixes, some refactoring and cleanup

* Clear some codestyle issues catched by checker script;
* Rename RestartDebugCapture to more consistent StartStopDebugCapture;
* Updated Copyrights and authors lists, some occurences of the raw MIT
  licence text replaced with "under the terms of MIT licence" reference;
* Fixes for x86_64 build.

This is cumulative cleanup commit for series of Terminal refactoring
changes I have introduced last time. No significant functional changes.
This commit is contained in:
Siarzhuk Zharski
2013-03-14 07:44:52 +00:00
parent fe25686978
commit 5b41331f11
21 changed files with 220 additions and 297 deletions
+27 -35
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008-2010, Ingo Weinhold, [email protected].
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, [email protected]
* Siarzhuk Zharski, [email protected]
*/
#include "BasicTerminalBuffer.h"
@@ -265,7 +270,6 @@ BasicTerminalBuffer::SynchronizeWith(const BasicTerminalBuffer* other,
destLine->softBreak = sourceLine->softBreak;
if (destLine->length > 0) {
memcpy(destLine->cells, sourceLine->cells,
// destLine->length * sizeof(TerminalCell));
fWidth * sizeof(TerminalCell));
}
} else {
@@ -309,6 +313,7 @@ BasicTerminalBuffer::GetChar(int32 row, int32 column, UTF8Char& character,
return A_CHAR;
}
void
BasicTerminalBuffer::GetCellAttributes(int32 row, int32 column,
uint32& attributes, uint32& count) const
@@ -319,16 +324,14 @@ BasicTerminalBuffer::GetCellAttributes(int32 row, int32 column,
if (line == NULL || column < 0)
return;
uint32 c = column;
int32 c = column;
for (; c < fWidth; c++) {
TerminalCell& cell = line->cells[c];
if (c > column && attributes != cell.attributes) {
if (c > column && attributes != cell.attributes)
break;
}
attributes = cell.attributes;
}
count = c - column;
// printf("r:%d c:%d count:%d a:%x\n", row, column, count, attributes);
}
@@ -497,6 +500,7 @@ BasicTerminalBuffer::GetLineColor(int32 index) const
return line != NULL ? line->attributes : 0;
}
bool
BasicTerminalBuffer::Find(const char* _pattern, const TermPos& start,
bool forward, bool caseSensitive, bool matchWord, TermPos& _matchStart,
@@ -728,7 +732,7 @@ BasicTerminalBuffer::InsertTab()
if (x != fCursor.x) {
TerminalLine* line = _LineAt(fCursor.y);
for (int32 i = fCursor.x; i <= x; i++) {
line->cells[i].character = ' ';
line->cells[i].character = ' ';
line->cells[i].attributes = fAttributes;
}
fCursor.x = x;
@@ -784,35 +788,27 @@ void
BasicTerminalBuffer::EraseCharsFrom(int32 first, int32 numChars)
{
TerminalLine* line = _LineAt(fCursor.y);
/* if (IsAlternateScreenActive())*/ {
int32 end = min_c(first + numChars, fWidth);
for (int32 i = first; i < end; i++)
line->cells[i].attributes = fAttributes;
}
int32 end = min_c(first + numChars, fWidth);
for (int32 i = first; i < end; i++)
line->cells[i].attributes = fAttributes;
line->attributes = fAttributes;
_Invalidate(fCursor.y, fCursor.y);
// if (fCursor.x >= line->length)
// return;
fSoftWrappedCursor = false;
int32 end = min_c(first + numChars, line->length);
// printf("%d:%d - %d|", fCursor.y, first, end);
end = min_c(first + numChars, line->length);
if (first > 0 && IS_WIDTH(line->cells[first - 1].attributes))
first--;
if (end > 0 && IS_WIDTH(line->cells[end - 1].attributes))
end++;
// printf("%d - %d\n", first, end);
for (int32 i = first; i < end; i++) {
line->cells[i].character = kSpaceChar;
line->cells[i].attributes = fAttributes;
}
_Invalidate(fCursor.y, fCursor.y);
}
@@ -887,8 +883,6 @@ BasicTerminalBuffer::DeleteChars(int32 numChars)
line->length = fCursor.x;
}
// line->attributes = fAttributes;
_Invalidate(fCursor.y, fCursor.y);
}
}
@@ -1331,7 +1325,7 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height,
sourceLine->cells + sourceX, toCopy * sizeof(TerminalCell));
destLine->length += toCopy;
}
destLine->attributes = sourceLine->attributes;
bool nextDestLine = false;
@@ -1572,12 +1566,9 @@ void
BasicTerminalBuffer::_PadLineToCursor()
{
TerminalLine* line = _LineAt(fCursor.y);
if (line->length < fCursor.x) {
for (int32 i = line->length; i < fCursor.x; i++) {
if (line->length < fCursor.x)
for (int32 i = line->length; i < fCursor.x; i++)
line->cells[i].character = kSpaceChar;
// line->cells[i].attributes = line->attributes;
}
}
}
@@ -1716,7 +1707,7 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName)
break;
}
size_t countLines = dumpHistory ? fHistory->Size() : fHeight;
int countLines = dumpHistory ? fHistory->Size() : fHeight;
fprintf(fileOut, "> %s lines dump begin <\n",
dumpHistory ? "History" : "Terminal");
@@ -1727,11 +1718,11 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName)
: fScreen[_LineIndex(i)];
if (line == NULL) {
fprintf(fileOut, "line: %ld is NULL!!!\n", i);
fprintf(fileOut, "line: %d is NULL!!!\n", i);
continue;
}
fprintf(fileOut, "%02d:%02d:%08lx:\n",
fprintf(fileOut, "%02" B_PRId16 ":%02" B_PRId16 ":%08" B_PRIx32 ":\n",
i, line->length, line->attributes);
for (int j = 0; j < line->length; j++)
fprintf(fileOut, "%c", line->cells[j].character.bytes[0]);
@@ -1739,7 +1730,7 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName)
fprintf(fileOut, "\n");
for (int s = 28; s >= 0; s -= 4) {
for (int j = 0; j < fWidth; j++)
fprintf(fileOut, "%01lx",
fprintf(fileOut, "%01" B_PRIx32,
(line->cells[j].attributes >> s) & 0x0F);
fprintf(fileOut, "\n");
@@ -1751,14 +1742,15 @@ BasicTerminalBuffer::MakeLinesSnapshots(time_t timeStamp, const char* fileName)
fprintf(fileOut, "> %s lines dump finished <\n",
dumpHistory ? "History" : "Terminal");
} while (dumpHistory = !dumpHistory);
dumpHistory = !dumpHistory;
} while (dumpHistory);
fclose(fileOut);
}
void
BasicTerminalBuffer::RestartDebugCapture()
BasicTerminalBuffer::StartStopDebugCapture()
{
if (fCaptureFile >= 0) {
close(fCaptureFile);
+12 -4
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef BASIC_TERMINAL_BUFFER_H
#define BASIC_TERMINAL_BUFFER_H
@@ -114,8 +119,8 @@ public:
// snapshots and data capture for debugging
void MakeLinesSnapshots(time_t timeStamp,
const char* fileName);
void RestartDebugCapture();
/*inline*/ void CaptureChar(char ch);
void StartStopDebugCapture();
void CaptureChar(char ch);
// insert chars/lines
inline void InsertChar(UTF8Char c);
@@ -183,7 +188,7 @@ protected:
static TerminalLine** _AllocateLines(int32 width, int32 count);
static void _FreeLines(TerminalLine** lines, int32 count);
void _ClearLines(int32 first, int32 last/*, uint32 attr = 0*/); //TODO attr
void _ClearLines(int32 first, int32 last);
status_t _ResizeHistory(int32 width,
int32 historyCapacity);
@@ -272,7 +277,7 @@ BasicTerminalBuffer::SetAttributes(uint32 attributes)
void
BasicTerminalBuffer::PreserveAttributes(bool store)
{
if (store)
if (store)
fSavedAttributes = fAttributes;
else
fAttributes = fSavedAttributes;
@@ -306,18 +311,21 @@ BasicTerminalBuffer::EraseChars(int32 numChars)
EraseCharsFrom(fCursor.x, numChars);
}
void
BasicTerminalBuffer::DeleteColumns()
{
DeleteColumnsFrom(fCursor.x);
}
void
BasicTerminalBuffer::SetCursor(int32 x, int32 y)
{
_SetCursor(x, y, false);
}
void
BasicTerminalBuffer::SetCursorX(int32 x)
{
+9 -15
View File
@@ -1,6 +1,10 @@
/*
* Copyright 2010-2012, Haiku, Inc. All rights reserved.
* Copyright 2010-2013, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stefano Ceccherini, stefano.ceccherini@gmail.com
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -8,7 +12,6 @@
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <Application.h>
#include <Catalog.h>
@@ -128,7 +131,8 @@ XColorsTable::XColorsTable()
XColorsTable::~XColorsTable()
{
// fTable is owned by BApplication - no need to free it.
// fTable as result of LoadResource call and owned
// by BApplication so no need to free it explicitly
fTable = NULL;
fCount = 0;
}
@@ -180,9 +184,9 @@ status_t
XColorsTable::_LoadXColorsTable()
{
BResources* res = BApplication::AppResources();
if (res == NULL)
if (res == NULL)
return B_ERROR;
size_t size = 0;
fTable = (_XColorEntry*)res->LoadResource(B_RAW_TYPE, "XColorsTable", &size);
if (fTable == NULL || size < sizeof(_XColorEntry)) {
@@ -191,16 +195,6 @@ XColorsTable::_LoadXColorsTable()
}
fCount = size / sizeof(_XColorEntry);
// printf("%ld; sizeof:%ld\n", fCount, sizeof(_XColorEntry));
for (size_t i = 0; i < fCount; i++) {
printf("%ld:%#010lx -> %d/%d/%d %d\n",
i, fTable[i].hash, fTable[i].color.red,
fTable[i].color.green, fTable[i].color.blue,
fTable[i].color.alpha);
}
return B_OK;
}
+8 -4
View File
@@ -1,6 +1,10 @@
/*
* Copyright 2010-2012, Haiku, Inc. All rights reserved.
* Copyright 2010-2013, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stefano Ceccherini, stefano.ceccherini@gmail.com
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef _COLORS_H
#define _COLORS_H
@@ -28,8 +32,8 @@ const uint kTermColorCount = 256;
// Helper class handling XColorName/rgb:xxx/xxx/xxx -> rgb_color conversions.
// The source of XColorNames is wide available rgb.txt for X11 System.
// It is stored in "XColorsTable" application resource as array of
// The source of XColorNames is wide available rgb.txt for X11 System.
// It is stored in "XColorsTable" application resource as array of
// "hash <-> rgb_color" pairs. The table is loaded only on demand.
// Name hashes must be sorted to let lookup procedure work properly
class XColorsTable {
@@ -39,7 +43,7 @@ class XColorsTable {
rgb_color color;
};
public:
public:
XColorsTable();
~XColorsTable();
+5
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#include "HistoryBuffer.h"
+11 -4
View File
@@ -1,10 +1,15 @@
/*
* Copyright 2003-2007, Haiku, Inc. All Rights Reserved.
* Copyright 2003-2013, Haiku, Inc. All Rights Reserved.
* Copyright (c) 2004 Daniel Furrer <assimil8or@users.sourceforge.net>
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Copyright (c) 1998,99 Kazuho Okui and Takashi Murai.
*
* Distributed unter the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Daniel Furrer, assimil8or@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -60,7 +65,7 @@ static const pref_defaults kTermDefaults[] = {
{ PREF_ANSI_MAGENTA_COLOR, "115, 68, 123" },
{ PREF_ANSI_CYAN_COLOR, " 6, 152, 154" },
{ PREF_ANSI_WHITE_COLOR, "245, 245, 245" },
{ PREF_ANSI_BLACK_HCOLOR, "128, 128, 128" },
{ PREF_ANSI_RED_HCOLOR, "255, 0, 0" },
{ PREF_ANSI_GREEN_HCOLOR, " 0, 255, 0" },
@@ -204,11 +209,12 @@ PrefHandler::SaveAsText(const char *path, const char *mimetype,
fContainer.GetInfo(B_STRING_TYPE, i, (char**)&key, &type) == B_OK;
#endif
i++) {
int len = snprintf(buffer, sizeof(buffer), "\"%s\" , \"%s\"\n", key, getString(key));
int len = snprintf(buffer, sizeof(buffer), "\"%s\" , \"%s\"\n",
key, getString(key));
file.Write(buffer, len);
}
if (mimetype != NULL){
if (mimetype != NULL) {
BNodeInfo info(&file);
info.SetType(mimetype);
info.SetPreferredApp(signature);
@@ -237,6 +243,7 @@ PrefHandler::getFloat(const char *key)
return atof(value);
}
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "Terminal getString"
+6 -1
View File
@@ -1,10 +1,15 @@
/*
* Copyright (c) 2003-2006, Haiku, Inc. All Rights Reserved.
* Copyright (c) 2003-2013, Haiku, Inc. All Rights Reserved.
* Copyright (c) 2004 Daniel Furrer <assimil8or@users.sourceforge.net>
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Copyright (c) 1998,99 Kazuho Okui and Takashi Murai.
*
* Distributed unter the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Daniel Furrer, assimil8or@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef PREF_HANDLER_H
#define PREF_HANDLER_H
+6 -2
View File
@@ -1,11 +1,15 @@
/*
* Copyright 2007-2010, Haiku, Inc. All rights reserved.
* Copyright 2007-2013, Haiku, Inc. All rights reserved.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Copyright (c) 2004 Daniel Furrer <assimil8or@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Distributed under the terms of the MIT license.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Daniel Furrer, assimil8or@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -71,7 +75,6 @@
// TODO: should extract from /etc/passwd instead???
const char *kDefaultShell = "/bin/sh";
const char *kTerminalType = "xterm-256color";
//const char *kTerminalType = "xterm";
/*
* Set environment variable.
@@ -382,6 +385,7 @@ initialize_termios(struct termios &tio)
tio.c_cc[VSUSP] = CSUSP; /* '^Z' */
}
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "Terminal Shell"
+5 -3
View File
@@ -1,9 +1,13 @@
/*
* Copyright 2001-2010, Haiku, Inc. All rights reserved.
* Copyright 2001-2013, Haiku, Inc. All rights reserved.
* Copyright (c) 2003-2004 Kian Duffy <myob@users.sourceforge.net>
* Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Distributed unter the terms of the MIT license.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -292,7 +296,6 @@ TermApp::_ChildCleanupThread(void* data)
}
void
TermApp::_Usage(char *name)
{
@@ -351,4 +354,3 @@ TermApp::_InitDefaultPalette()
for (uint gray = 8; gray < 240; gray += 10)
(*color++).set_to(gray, gray, gray);
}
+5 -24
View File
@@ -1,32 +1,13 @@
/*
* Copyright 2001-2010, Haiku.
* Copyright 2001-2013, Haiku.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files or portions
* thereof (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice
* in the binary, as well as this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with
* the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* Distributed under the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERM_APP_H
#define TERM_APP_H
+6 -39
View File
@@ -1,32 +1,13 @@
/*
* Copyright 2001-2009, Haiku.
* Copyright 2001-2013, Haiku.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files or portions
* thereof (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice
* in the binary, as well as this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with
* the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* Distributed under the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERMCONST_H_INCLUDED
#define TERMCONST_H_INCLUDED
@@ -164,16 +145,8 @@ static const char* const PREF_WINDOW_TITLE = "Window title";
extern const char* const kTooTipSetTabTitlePlaceholders;
extern const char* const kTooTipSetWindowTitlePlaceholders;
// Color type
enum {
TEXT_FOREGROUND_COLOR,
TEXT_BACKGROUND_COLOR,
SELECTION_FOREGROUND_COLOR,
SELECTION_BACKGROUND_COLOR
};
// Cursor shape
// Cursor style
enum {
BLOCK_CURSOR,
UNDERLINE_CURSOR,
@@ -189,12 +162,6 @@ static const int32 DEFAULT = -1;
static const int HALF_WIDTH = 1;
static const int FULL_WIDTH = 2;
// Scroll direction flag
enum{
SCRUP,
SCRDOWN
};
#define M_UTF8 -1
#define TAB_WIDTH 8
+31 -31
View File
@@ -1,8 +1,12 @@
/*
* Copyright 2001-2010, Haiku, Inc.
* Copyright 2001-2013, Haiku, Inc.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
* Distributed under the terms of the MIT license.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -176,7 +180,7 @@ TermParse::_InitPtyReader()
fReaderThread = spawn_thread(_ptyreader_thread, "PtyReader",
B_NORMAL_PRIORITY, this);
if (fReaderThread < 0) {
if (fReaderThread < 0) {
delete_sem(fReaderSem);
fReaderSem = -1;
delete_sem(fReaderLocker);
@@ -485,40 +489,40 @@ TermParse::EscParse()
/* "Special characters and line drawing" enabled by \E(0 */
switch (c) {
case 'a':
fBuffer->InsertChar("\xE2\x96\x92",3);
fBuffer->InsertChar("\xE2\x96\x92", 3);
break;
case 'j':
fBuffer->InsertChar("\xE2\x94\x98",3);
fBuffer->InsertChar("\xE2\x94\x98", 3);
break;
case 'k':
fBuffer->InsertChar("\xE2\x94\x90",3);
fBuffer->InsertChar("\xE2\x94\x90", 3);
break;
case 'l':
fBuffer->InsertChar("\xE2\x94\x8C",3);
fBuffer->InsertChar("\xE2\x94\x8C", 3);
break;
case 'm':
fBuffer->InsertChar("\xE2\x94\x94",3);
fBuffer->InsertChar("\xE2\x94\x94", 3);
break;
case 'n':
fBuffer->InsertChar("\xE2\x94\xBC",3);
fBuffer->InsertChar("\xE2\x94\xBC", 3);
break;
case 'q':
fBuffer->InsertChar("\xE2\x94\x80",3);
fBuffer->InsertChar("\xE2\x94\x80", 3);
break;
case 't':
fBuffer->InsertChar("\xE2\x94\x9C",3);
fBuffer->InsertChar("\xE2\x94\x9C", 3);
break;
case 'u':
fBuffer->InsertChar("\xE2\x94\xA4",3);
fBuffer->InsertChar("\xE2\x94\xA4", 3);
break;
case 'v':
fBuffer->InsertChar("\xE2\x94\xB4",3);
fBuffer->InsertChar("\xE2\x94\xB4", 3);
break;
case 'w':
fBuffer->InsertChar("\xE2\x94\xAC",3);
fBuffer->InsertChar("\xE2\x94\xAC", 3);
break;
case 'x':
fBuffer->InsertChar("\xE2\x94\x82",3);
fBuffer->InsertChar("\xE2\x94\x82", 3);
break;
default:
fBuffer->InsertChar((char)c);
@@ -694,7 +698,7 @@ TermParse::EscParse()
param[nparam++] = DEFAULT;
break;
case CASE_CSI_SP: // ESC [N q
case CASE_CSI_SP: // ESC [N q
// part of change cursor style DECSCUSR
if (nparam < NPARAM)
param[nparam++] = ' ';
@@ -1136,14 +1140,13 @@ TermParse::EscParse()
break;
}
default:
if (!isprint(params[i] & 0x7f)) {
if (!isprint(params[i] & 0x7f))
break;
}
continue;
}
params[i] = '\0';
}
if (isParsed)
_ProcessOperatingSystemControls(params);
@@ -1546,7 +1549,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
case 104: // reset colors (0 - 255)
{
bool reset = (mode / 100) == 1;
// colors can be in "idx1:name1;...;idxN:nameN;" sequence too!
uint32 count = 0;
char* p = strtok((char*)params, ";");
@@ -1558,16 +1561,14 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
if (p == NULL)
break;
if (gXColorsTable.LookUpColor(p, &colors[count]) == B_OK) {
if (gXColorsTable.LookUpColor(p, &colors[count]) == B_OK)
count++;
}
} else {
} else
count++;
}
p = strtok(NULL, ";");
} while(p != NULL && count < kTermColorCount);
} while (p != NULL && count < kTermColorCount);
if (count > 0) {
if (!reset)
fBuffer->SetColors(indexes, colors, count);
@@ -1588,13 +1589,13 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
// dyna-colors are pos-sensitive - no chance to continue
break;
}
indexes[count] = 10 + offset + count;
count++;
p = strtok(NULL, ";");
} while(p != NULL && (offset + count) < 10);
} while (p != NULL && (offset + count) < 10);
if (count > 0) {
fBuffer->SetColors(indexes, colors, count, true);
}
@@ -1609,8 +1610,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
}
break;
default:
printf("%d -> %s\n", mode, params);
// printf("%d -> %s\n", mode, params);
break;
}
}
+5 -23
View File
@@ -1,31 +1,13 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files or portions
* thereof (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice
* in the binary, as well as this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with
* the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* Distributed under the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERMPARSE_H
#define TERMPARSE_H
+27 -39
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2001-2010, Haiku, Inc.
* Copyright 2001-2013, Haiku, Inc.
* Copyright 2003-2004 Kian Duffy, myob@users.sourceforge.net
* Parts Copyright 1998-1999 Kazuho Okui and Takashi Murai.
* All rights reserved. Distributed under the terms of the MIT license.
@@ -10,6 +10,7 @@
* Y.Hayakawa, hida@sawada.riec.tohoku.ac.jp
* Ingo Weinhold, ingo_weinhold@gmx.de
* Clemens Zeidler, haiku@Clemens-Zeidler.de
* Siarzhuk Zharski, zharik@gmx.li
*/
@@ -332,7 +333,7 @@ TermView::_InitObject(const ShellParameters& shellParameters)
fVisibleTextBuffer = new(std::nothrow) BasicTerminalBuffer;
if (fVisibleTextBuffer == NULL)
return B_NO_MEMORY;
// TODO: Make the special word chars user-settable!
fCharClassifier = new(std::nothrow) CharClassifier(
kDefaultSpecialWordChars);
@@ -356,7 +357,7 @@ TermView::_InitObject(const ShellParameters& shellParameters)
// set the shell parameters' encoding
ShellParameters modifiedShellParameters(shellParameters);
const BCharacterSet* charset
= BCharacterSetRoster::GetCharacterSetByConversionID(fEncoding);
modifiedShellParameters.SetEncoding(charset ? charset->GetName() : "UTF-8");
@@ -653,7 +654,7 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic)
fTextBuffer->SetPaletteColor(index, color);
return;
}
switch (index) {
case 10:
fTextForeColor = color;
@@ -942,15 +943,12 @@ TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf,
// color attribute
int forecolor = IS_FORECOLOR(attr);
int backcolor = IS_BACKCOLOR(attr);
if (IS_FORESET(attr))
rgb_fore = fTextBuffer->PaletteColor(forecolor);
if (IS_BACKSET(attr))
rgb_back = fTextBuffer->PaletteColor(backcolor);
// printf("DLP:[%03x %03x %03x]; [%03x %03x %03x];\n",
// rgb_fore.red, rgb_fore.green, rgb_fore.blue, rgb_back.red, rgb_back.green, rgb_back.blue);
// Selection check.
if (cursor) {
rgb_fore = fCursorForeColor;
@@ -1040,7 +1038,6 @@ TermView::_DrawCursor()
_DrawLinePart(fCursor.x * fFontWidth, (int32)rect.top, attr, buffer,
width, selected, cursorVisible, this);
} else {
if (selected)
SetHighColor(fSelectBackColor);
else if (cursorVisible )
@@ -1063,7 +1060,6 @@ TermView::_DrawCursor()
FillRect(rect);
}
}
@@ -1624,19 +1620,19 @@ TermView::MessageReceived(BMessage *msg)
#if 0
} else if (msg->FindData("RGBColor", B_RGB_COLOR_TYPE,
(const void **)&color, &numBytes) == B_OK
&& numBytes == sizeof(color)) {
&& numBytes == sizeof(color)) {
// TODO: handle color drop
// maybe only on replicants ?
return;
#endif
} else if (msg->FindData("text/plain", B_MIME_TYPE,
(const void **)&text, &numBytes) == B_OK) {
(const void **)&text, &numBytes) == B_OK) {
_WritePTY(text, numBytes);
return;
}
}
switch (msg->what){
switch (msg->what) {
case B_SIMPLE_DATA:
case B_REFS_RECEIVED:
{
@@ -1853,11 +1849,9 @@ TermView::MessageReceived(BMessage *msg)
int32 count = 0;
if (msg->FindInt32("count", &count) != B_OK)
break;
bool dynamic = false;
if (msg->FindBool("dynamic", &dynamic) != B_OK)
break;
for (int i = 0; i < count; i++) {
uint8 index = 0;
if (msg->FindUInt8("index", i, &index) != B_OK)
@@ -1868,10 +1862,8 @@ TermView::MessageReceived(BMessage *msg)
if (msg->FindData("color", B_RGB_COLOR_TYPE,
i, (const void**)&color, &bytes) != B_OK)
break;
SetTermColor(index, *color, dynamic);
}
break;
}
case MSG_RESET_TERMINAL_COLORS:
@@ -1879,11 +1871,9 @@ TermView::MessageReceived(BMessage *msg)
int32 count = 0;
if (msg->FindInt32("count", &count) != B_OK)
break;
bool dynamic = false;
if (msg->FindBool("dynamic", &dynamic) != B_OK)
break;
for (int i = 0; i < count; i++) {
uint8 index = 0;
if (msg->FindUInt8("index", i, &index) != B_OK)
@@ -1893,7 +1883,6 @@ TermView::MessageReceived(BMessage *msg)
SetTermColor(index,
TermApp::DefaultPalette()[index], dynamic);
}
break;
}
case MSG_SET_CURSOR_STYLE:
@@ -2455,7 +2444,7 @@ TermView::_SendMouseEvent(int32 buttons, int32 mode, int32 x, int32 y,
char xtermButtons;
if (buttons == B_PRIMARY_MOUSE_BUTTON)
xtermButtons = 32 + 0;
else if (buttons == B_SECONDARY_MOUSE_BUTTON)
else if (buttons == B_SECONDARY_MOUSE_BUTTON)
xtermButtons = 32 + 1;
else if (buttons == B_TERTIARY_MOUSE_BUTTON)
xtermButtons = 32 + 2;
@@ -2494,8 +2483,8 @@ TermView::MouseDown(BPoint where)
if (fReportAnyMouseEvent || fReportButtonMouseEvent
|| fReportNormalMouseEvent || fReportX10MouseEvent) {
TermPos clickPos = _ConvertToTerminal(where);
_SendMouseEvent(buttons, modifier, clickPos.x, clickPos.y, false);
TermPos clickPos = _ConvertToTerminal(where);
_SendMouseEvent(buttons, modifier, clickPos.x, clickPos.y, false);
return;
}
@@ -2588,17 +2577,17 @@ TermView::MouseMoved(BPoint where, uint32 transit, const BMessage *message)
int32 modifier;
Window()->CurrentMessage()->FindInt32("modifiers", &modifier);
TermPos clickPos = _ConvertToTerminal(where);
TermPos clickPos = _ConvertToTerminal(where);
if (fReportButtonMouseEvent) {
if (fPrevPos.x != clickPos.x || fPrevPos.y != clickPos.y) {
_SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y,
if (fReportButtonMouseEvent) {
if (fPrevPos.x != clickPos.x || fPrevPos.y != clickPos.y) {
_SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y,
true);
}
fPrevPos = clickPos;
return;
}
_SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, true);
}
fPrevPos = clickPos;
return;
}
_SendMouseEvent(fMouseButtons, modifier, clickPos.x, clickPos.y, true);
return;
}
@@ -2680,8 +2669,8 @@ TermView::MouseUp(BPoint where)
if (fReportAnyMouseEvent || fReportButtonMouseEvent
|| fReportNormalMouseEvent) {
TermPos clickPos = _ConvertToTerminal(where);
_SendMouseEvent(0, 0, clickPos.x, clickPos.y, false);
TermPos clickPos = _ConvertToTerminal(where);
_SendMouseEvent(0, 0, clickPos.x, clickPos.y, false);
} else {
if ((buttons & B_PRIMARY_MOUSE_BUTTON) == 0
&& (fMouseButtons & B_PRIMARY_MOUSE_BUTTON) != 0) {
@@ -3206,7 +3195,6 @@ TermView::_HandleInputMethodLocationRequest()
}
void
TermView::_CancelInputMethod()
{
@@ -3267,16 +3255,16 @@ TermView::MakeDebugSnapshots()
{
BAutolock _(fTextBuffer);
time_t timeStamp = time(NULL);
fTextBuffer->MakeLinesSnapshots(timeStamp, ".TextBuffer.log");
fVisibleTextBuffer->MakeLinesSnapshots(timeStamp, ".VisualTextBuffer.log");
fTextBuffer->MakeLinesSnapshots(timeStamp, ".TextBuffer.dump");
fVisibleTextBuffer->MakeLinesSnapshots(timeStamp, ".VisualTextBuffer.dump");
}
void
TermView::RestartDebugCapture()
TermView::StartStopDebugCapture()
{
BAutolock _(fTextBuffer);
fTextBuffer->RestartDebugCapture();
fTextBuffer->StartStopDebugCapture();
}
#endif
+3 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2001-2010, Haiku, Inc.
* Copyright 2001-2013, Haiku, Inc.
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
@@ -8,6 +8,7 @@
* Stefano Ceccherini, stefano.ceccherini@gmail.com
* Kian Duffy, myob@users.sourceforge.net
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERMVIEW_H
#define TERMVIEW_H
@@ -91,7 +92,7 @@ public:
void SetMouseClipboard(BClipboard *);
void MakeDebugSnapshots();
void RestartDebugCapture();
void StartStopDebugCapture();
// edit functions
void Copy(BClipboard* clipboard);
+22 -16
View File
@@ -1,10 +1,15 @@
/*
* Copyright 2007-2010, Haiku, Inc. All rights reserved.
* Copyright 2007-2013, Haiku, Inc. All rights reserved.
* Copyright (c) 2004 Daniel Furrer <assimil8or@users.sourceforge.net>
* Copyright (c) 2003-2004 Kian Duffy <myob@users.sourceforge.net>
* Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Distributed under the terms of the MIT license.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Daniel Furrer, assimil8or@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#include "TermWindow.h"
@@ -386,7 +391,7 @@ void
TermWindow::MenusBeginning()
{
TermView* view = _ActiveTermView();
// Syncronize Encode Menu Pop-up menu and Preference.
const BCharacterSet* charset
= BCharacterSetRoster::GetCharacterSetByConversionID(view->Encoding());
@@ -473,7 +478,7 @@ TermWindow::_SetupMenu()
.AddItem(B_TRANSLATE("New tab"), kNewTab, 'T')
.AddSeparator()
.AddItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS), MENU_PAGE_SETUP)
.AddItem(B_TRANSLATE("Print"), MENU_PRINT,'P')
.AddItem(B_TRANSLATE("Print"), MENU_PRINT, 'P')
.AddSeparator()
.AddItem(B_TRANSLATE("Close window"), B_QUIT_REQUESTED, 'W',
B_SHIFT_KEY)
@@ -483,13 +488,13 @@ TermWindow::_SetupMenu()
// Edit
.AddMenu(B_TRANSLATE("Edit"))
.AddItem(B_TRANSLATE("Copy"), B_COPY,'C')
.AddItem(B_TRANSLATE("Paste"), B_PASTE,'V')
.AddItem(B_TRANSLATE("Copy"), B_COPY, 'C')
.AddItem(B_TRANSLATE("Paste"), B_PASTE, 'V')
.AddSeparator()
.AddItem(B_TRANSLATE("Select all"), B_SELECT_ALL, 'A')
.AddItem(B_TRANSLATE("Clear all"), MENU_CLEAR_ALL, 'L')
.AddSeparator()
.AddItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS), MENU_FIND_STRING,'F')
.AddItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS), MENU_FIND_STRING, 'F')
.AddItem(B_TRANSLATE("Find previous"), MENU_FIND_PREVIOUS, 'G',
B_SHIFT_KEY)
.GetItem(fFindPreviousMenuItem)
@@ -671,7 +676,7 @@ TermWindow::MessageReceived(BMessage *message)
break;
case SHORTCUT_DEBUG_CAPTURE:
_ActiveTermView()->RestartDebugCapture();
_ActiveTermView()->StartStopDebugCapture();
break;
#endif
@@ -710,8 +715,7 @@ TermWindow::MessageReceived(BMessage *message)
case MENU_PREF_OPEN:
if (!fPrefWindow) {
fPrefWindow = new PrefWindow(this);
}
else
} else
fPrefWindow->Activate();
break;
@@ -728,8 +732,7 @@ TermWindow::MessageReceived(BMessage *message)
if (!fFindPanel) {
fFindPanel = new FindWindow(this, fFindString, fFindSelection,
fMatchWord, fMatchCase, fForwardSearch);
}
else
} else
fFindPanel->Activate();
break;
@@ -760,7 +763,8 @@ TermWindow::MessageReceived(BMessage *message)
message->FindBool("forwardsearch", &fForwardSearch);
message->FindBool("matchcase", &fMatchCase);
message->FindBool("matchword", &fMatchWord);
findresult = _ActiveTermView()->Find(fFindString, fForwardSearch, fMatchCase, fMatchWord);
findresult = _ActiveTermView()->Find(fFindString, fForwardSearch,
fMatchCase, fMatchWord);
if (!findresult) {
BAlert* alert = new BAlert(B_TRANSLATE("Find failed"),
@@ -899,7 +903,7 @@ TermWindow::MessageReceived(BMessage *message)
fTabView->ResizeBy(0, -mbHeight);
fTabView->MoveBy(0, mbHeight);
SetLook(fSavedLook);
fSavedFrame = BRect(0,0,-1,-1);
fSavedFrame = BRect(0, 0, -1, -1);
SetFlags(Flags() & ~(B_NOT_RESIZABLE | B_NOT_MOVABLE));
fFullScreen = false;
}
@@ -922,7 +926,8 @@ TermWindow::MessageReceived(BMessage *message)
{
BPath path;
if (PrefHandler::GetDefaultPath(path) == B_OK)
PrefHandler::Default()->SaveAsText(path.Path(), PREFFILE_MIMETYPE);
PrefHandler::Default()->SaveAsText(path.Path(),
PREFFILE_MIMETYPE);
break;
}
case MENU_PAGE_SETUP:
@@ -1221,7 +1226,8 @@ TermWindow::_AddTab(Arguments* args, const BString& currentDirectory)
BScrollView* scrollView = new TermScrollView("scrollView",
containerView, view, fSessions.IsEmpty());
if (!fFullScreen)
scrollView->ScrollBar(B_VERTICAL)->ResizeBy(0, -(B_H_SCROLL_BAR_HEIGHT - 1));
scrollView->ScrollBar(B_VERTICAL)
->ResizeBy(0, -(B_H_SCROLL_BAR_HEIGHT - 1));
if (fSessions.IsEmpty())
fTabView->SetScrollView(scrollView);
@@ -1964,7 +1970,7 @@ TermWindow::_NewSessionIndex()
bool used = false;
for (int32 i = 0;
Session* session = _SessionAt(i); i++) {
Session* session = _SessionAt(i); i++) {
if (id == session->index) {
used = true;
break;
+7 -2
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#include "TerminalBuffer.h"
@@ -242,7 +247,7 @@ TerminalBuffer::GuessPaletteColor(int red, int green, int blue)
{
int distance = 255 * 100;
int index = -1;
for (int i = 0; i < kTermColorCount && distance > 0; i++) {
for (uint32 i = 0; i < kTermColorCount && distance > 0; i++) {
rgb_color color = fColorsPalette[i];
int r = 30 * abs(color.red - red);
int g = 59 * abs(color.green - green);
@@ -254,7 +259,7 @@ TerminalBuffer::GuessPaletteColor(int red, int green, int blue)
}
}
return min_c(index, kTermColorCount - 1);
return min_c(index, int(kTermColorCount - 1));
}
+5
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERMINAL_BUFFER_H
#define TERMINAL_BUFFER_H
+5
View File
@@ -1,6 +1,11 @@
/*
* Copyright 2013, Haiku, Inc. All rights reserved.
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, ingo_weinhold@gmx.de
* Siarzhuk Zharski, zharik@gmx.li
*/
#ifndef TERMINAL_LINE_H
#define TERMINAL_LINE_H
+10 -29
View File
@@ -2,30 +2,11 @@
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files or portions
* thereof (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice
* in the binary, as well as this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with
* the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* Distributed under the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/
#include "VTparse.h"
@@ -115,7 +96,7 @@ CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
/* @ A B C */
CASE_PRINT,
CASE_PRINT,
@@ -440,7 +421,7 @@ CASE_PRINT_CS96,
CASE_PRINT_CS96,
CASE_PRINT_CS96,
CASE_PRINT_CS96,
CASE_PRINT_CS96,
CASE_PRINT_CS96,
/* @ A B C */
CASE_PRINT_CS96,
CASE_PRINT_CS96,
@@ -1090,7 +1071,7 @@ CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
/* @ A B C */
CASE_PRINT,
CASE_PRINT,
@@ -3028,7 +3009,7 @@ CASE_IGNORE,
CASE_IGNORE,
CASE_IGNORE,
/* CAN EM SUB ESC */
CASE_GROUND_STATE,
CASE_GROUND_STATE,
CASE_IGNORE,
CASE_GROUND_STATE,
CASE_IGNORE_ESC,
@@ -4805,7 +4786,7 @@ CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
/* @ A B C */
CASE_PRINT,
CASE_PRINT,
@@ -5131,7 +5112,7 @@ CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
CASE_PRINT,
/* @ A B C */
CASE_PRINT,
CASE_PRINT,
+5 -24
View File
@@ -1,31 +1,12 @@
/*
* Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
* Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files or portions
* thereof (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice
* in the binary, as well as this list of conditions and the following
* disclaimer in the documentation and/or other materials provided with
* the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* Distributed under the terms of the MIT License.
*
* Authors:
* Kian Duffy, myob@users.sourceforge.net
* Siarzhuk Zharski, zharik@gmx.li
*/