Diffstat (limited to 'core/apps/embeddedkonsole/TEHistory.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/apps/embeddedkonsole/TEHistory.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/core/apps/embeddedkonsole/TEHistory.cpp b/core/apps/embeddedkonsole/TEHistory.cpp index 317ce57..db9d10c 100644 --- a/core/apps/embeddedkonsole/TEHistory.cpp +++ b/core/apps/embeddedkonsole/TEHistory.cpp | |||
@@ -9,11 +9,11 @@ | |||
9 | /* This file is part of Konsole - an X terminal for KDE */ | 9 | /* This file is part of Konsole - an X terminal for KDE */ |
10 | /* */ | 10 | /* */ |
11 | /* -------------------------------------------------------------------------- */ | 11 | /* -------------------------------------------------------------------------- */ |
12 | /* */ | 12 | /* */ |
13 | /* Ported Konsole to Qt/Embedded */ | 13 | /* Ported Konsole to Qt/Embedded */ |
14 | /* */ | 14 | /* */ |
15 | /* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */ | 15 | /* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */ |
16 | /* */ | 16 | /* */ |
17 | /* -------------------------------------------------------------------------- */ | 17 | /* -------------------------------------------------------------------------- */ |
18 | 18 | ||
19 | #include "TEHistory.h" | 19 | #include "TEHistory.h" |
@@ -117,18 +117,24 @@ bool HistoryBuffer::hasScroll() | |||
117 | void HistoryBuffer::add(const unsigned char* bytes, int len) | 117 | void HistoryBuffer::add(const unsigned char* bytes, int len) |
118 | { int rc; | 118 | { int rc; |
119 | assert(hasScroll()); | 119 | assert(hasScroll()); |
120 | rc = lseek(ion,length,SEEK_SET); if (rc < 0) { perror("HistoryBuffer::add.seek"); setScroll(FALSE); return; } | 120 | rc = lseek( ion, length, SEEK_SET); |
121 | rc = write(ion,bytes,len); if (rc < 0) { perror("HistoryBuffer::add.write"); setScroll(FALSE); return; } | 121 | if (rc < 0) { perror("HistoryBuffer::add.seek"); setScroll(FALSE); return; } |
122 | rc = write( ion, bytes, len); | ||
123 | if (rc < 0) { perror("HistoryBuffer::add.write"); setScroll(FALSE); return; } | ||
122 | length += rc; | 124 | length += rc; |
123 | } | 125 | } |
124 | 126 | ||
125 | void HistoryBuffer::get(unsigned char* bytes, int len, int loc) | 127 | void HistoryBuffer::get(unsigned char* bytes, int len, int loc) { |
126 | { int rc; | 128 | int rc; |
127 | assert(hasScroll()); | 129 | assert(hasScroll()); |
130 | // qDebug("history get len %d, loc %d, length %d", len, loc, length); | ||
128 | if (loc < 0 || len < 0 || loc + len > length) | 131 | if (loc < 0 || len < 0 || loc + len > length) |
129 | fprintf(stderr,"getHist(...,%d,%d): invalid args.\n",len,loc); | 132 | fprintf(stderr,"getHist(...,%d,%d): invalid args.\n",len,loc); |
130 | rc = lseek(ion,loc,SEEK_SET); if (rc < 0) { perror("HistoryBuffer::get.seek"); setScroll(FALSE); return; } | 133 | |
131 | rc = read(ion,bytes,len); if (rc < 0) { perror("HistoryBuffer::get.read"); setScroll(FALSE); return; } | 134 | rc = lseek( ion, loc, SEEK_SET); |
135 | if (rc < 0) { perror("HistoryBuffer::get.seek"); setScroll(FALSE); return; } | ||
136 | rc = read( ion, bytes, len); | ||
137 | if (rc < 0) { perror("HistoryBuffer::get.read"); setScroll(FALSE); return; } | ||
132 | } | 138 | } |
133 | 139 | ||
134 | int HistoryBuffer::len() | 140 | int HistoryBuffer::len() |
@@ -195,7 +201,8 @@ int HistoryScroll::startOfLine(int lineno) | |||
195 | void HistoryScroll::getCells(int lineno, int colno, int count, ca res[]) | 201 | void HistoryScroll::getCells(int lineno, int colno, int count, ca res[]) |
196 | { | 202 | { |
197 | assert(hasScroll()); | 203 | assert(hasScroll()); |
198 | cells.get((unsigned char*)res,count*sizeof(ca),startOfLine(lineno)+colno*sizeof(ca)); | 204 | //get(unsigned char* bytes, int len, int loc) |
205 | cells.get( (unsigned char*)res, count * sizeof(ca), startOfLine( lineno) + colno * sizeof(ca) ); | ||
199 | } | 206 | } |
200 | 207 | ||
201 | void HistoryScroll::addCells(ca text[], int count) | 208 | void HistoryScroll::addCells(ca text[], int count) |