summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader
Unidiff
Diffstat (limited to 'noncore/apps/opie-reader') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-reader/CFilter.cpp2
-rw-r--r--noncore/apps/opie-reader/CRegExp.cpp4
-rw-r--r--noncore/apps/opie-reader/Palm2QImage.cpp4
-rw-r--r--noncore/apps/opie-reader/QTReader.cpp2
-rw-r--r--noncore/apps/opie-reader/plucker_base.cpp2
-rw-r--r--noncore/apps/opie-reader/striphtml.cpp2
6 files changed, 8 insertions, 8 deletions
diff --git a/noncore/apps/opie-reader/CFilter.cpp b/noncore/apps/opie-reader/CFilter.cpp
index 25cdfae..a4ea60a 100644
--- a/noncore/apps/opie-reader/CFilter.cpp
+++ b/noncore/apps/opie-reader/CFilter.cpp
@@ -480,49 +480,49 @@ void repalm::getch(tchar& ch, CStyle& sty, unsigned long& pos)
480} 480}
481 481
482//static tchar nextpart[] = { 'C','l','i','c','k',' ','h','e','r','e',' ','f','o','r',' ','t','h','e',' ','n','e','x','t',' ','p','a','r','t',0 }; 482//static tchar nextpart[] = { 'C','l','i','c','k',' ','h','e','r','e',' ','f','o','r',' ','t','h','e',' ','n','e','x','t',' ','p','a','r','t',0 };
483//static tchar prevpart[] = { 'C','l','i','c','k',' ','h','e','r','e',' ','f','o','r',' ','t','h','e',' ','p','r','e','v','i','o','u','s',' ','p','a','r','t',0 }; 483//static tchar prevpart[] = { 'C','l','i','c','k',' ','h','e','r','e',' ','f','o','r',' ','t','h','e',' ','p','r','e','v','i','o','u','s',' ','p','a','r','t',0 };
484 484
485void DePluck::getch(tchar& ch, CStyle& sty, unsigned long& pos) 485void DePluck::getch(tchar& ch, CStyle& sty, unsigned long& pos)
486{ 486{
487 if (m_buffed > 0) 487 if (m_buffed > 0)
488 { 488 {
489 sty = m_laststyle; 489 sty = m_laststyle;
490 ch = nextpart[m_current++]; 490 ch = nextpart[m_current++];
491 if (m_current == m_buffed) 491 if (m_current == m_buffed)
492 { 492 {
493 m_current = m_buffed = 0; 493 m_current = m_buffed = 0;
494 } 494 }
495 } 495 }
496 else 496 else
497 { 497 {
498 if (m_buffer != 0) 498 if (m_buffer != 0)
499 { 499 {
500 ch = m_buffer; 500 ch = m_buffer;
501 m_buffer = 0; 501 m_buffer = 0;
502 return; 502 return;
503 } 503 }
504 unsigned long lnk, lnkoff; 504 unsigned long lnk = 0, lnkoff = 0;
505 do 505 do
506 { 506 {
507 if (nextpart[m_buffed] == 0) break; 507 if (nextpart[m_buffed] == 0) break;
508 parent->getch(ch, sty, pos); 508 parent->getch(ch, sty, pos);
509 m_laststyle = sty; 509 m_laststyle = sty;
510 if (sty.getLink()) 510 if (sty.getLink())
511 { 511 {
512 lnk = sty.getData(); 512 lnk = sty.getData();
513 lnkoff = sty.getOffset(); 513 lnkoff = sty.getOffset();
514 } 514 }
515 } while (ch == nextpart[m_buffed] && sty.getLink() && ++m_buffed); 515 } while (ch == nextpart[m_buffed] && sty.getLink() && ++m_buffed);
516 m_current = 0; 516 m_current = 0;
517 if (nextpart[m_buffed] == 0) 517 if (nextpart[m_buffed] == 0)
518 { 518 {
519 m_buffed = 0; 519 m_buffed = 0;
520 QString dmy, dmy2; 520 QString dmy, dmy2;
521 parent->hyperlink(lnk, lnkoff, dmy, dmy2); 521 parent->hyperlink(lnk, lnkoff, dmy, dmy2);
522 do 522 do
523 { 523 {
524 parent->getch(ch, sty, pos); 524 parent->getch(ch, sty, pos);
525 } 525 }
526 while (ch != 10); 526 while (ch != 10);
527 parent->getch(ch, sty, pos); 527 parent->getch(ch, sty, pos);
528 } 528 }
diff --git a/noncore/apps/opie-reader/CRegExp.cpp b/noncore/apps/opie-reader/CRegExp.cpp
index 6318d28..e3194df 100644
--- a/noncore/apps/opie-reader/CRegExp.cpp
+++ b/noncore/apps/opie-reader/CRegExp.cpp
@@ -88,49 +88,49 @@ void CRegExpFilt::prepreprocessing(const QString& pat, bool insens)
88 p++; 88 p++;
89#ifdef _WINDOWS 89#ifdef _WINDOWS
90 while ('0' <= pat.at(p).unicode() && pat.at(p).unicode() <= '9') 90 while ('0' <= pat.at(p).unicode() && pat.at(p).unicode() <= '9')
91#else 91#else
92 while ('0' <= pat[p].unicode() && pat[p].unicode() <= '9') 92 while ('0' <= pat[p].unicode() && pat[p].unicode() <= '9')
93#endif 93#endif
94 { 94 {
95 } 95 }
96 p--; 96 p--;
97 break; 97 break;
98 } 98 }
99 case '\\' : 99 case '\\' :
100 { 100 {
101#ifdef _WINDOWS 101#ifdef _WINDOWS
102 tchar c = escapedchar(pat.at(++p).unicode()); 102 tchar c = escapedchar(pat.at(++p).unicode());
103#else 103#else
104 tchar c = escapedchar(pat[++p].unicode()); 104 tchar c = escapedchar(pat[++p].unicode());
105#endif 105#endif
106 regchar(c, insens); 106 regchar(c, insens);
107 break; 107 break;
108 } 108 }
109 109
110 case '[' : 110 case '[' :
111 { 111 {
112 tchar clast; 112 tchar clast = 0;
113 bool invert = false; 113 bool invert = false;
114 tchar c; 114 tchar c;
115#ifdef _WINDOWS 115#ifdef _WINDOWS
116 if (pat.at(p+1).unicode() == '^') 116 if (pat.at(p+1).unicode() == '^')
117#else 117#else
118 if (pat[p+1].unicode() == '^') 118 if (pat[p+1].unicode() == '^')
119#endif 119#endif
120 { 120 {
121 p++; 121 p++;
122 invert = true; 122 invert = true;
123 } 123 }
124#ifdef _WINDOWS 124#ifdef _WINDOWS
125 while ((c = pat.at(++p).unicode()) != ']') 125 while ((c = pat.at(++p).unicode()) != ']')
126#else 126#else
127 while ((c = pat[++p].unicode()) != ']') 127 while ((c = pat[++p].unicode()) != ']')
128#endif 128#endif
129 { 129 {
130 if (c == '\\') 130 if (c == '\\')
131 { 131 {
132#ifdef _WINDOWS 132#ifdef _WINDOWS
133 c = escapedchar(pat.at(++p).unicode()); 133 c = escapedchar(pat.at(++p).unicode());
134#else 134#else
135 c = escapedchar(pat[++p].unicode()); 135 c = escapedchar(pat[++p].unicode());
136#endif 136#endif
@@ -266,49 +266,49 @@ unsigned int CRegExpFilt::preprocessing(const QString& pat, bool insens)
266 break; 266 break;
267 } 267 }
268 case '\\' : 268 case '\\' :
269 { 269 {
270#ifdef _WINDOWS 270#ifdef _WINDOWS
271 tchar c = escapedchar(pat.at(++p).unicode()); 271 tchar c = escapedchar(pat.at(++p).unicode());
272#else 272#else
273 tchar c = escapedchar(pat[++p].unicode()); 273 tchar c = escapedchar(pat[++p].unicode());
274#endif 274#endif
275 if (insens) 275 if (insens)
276 { 276 {
277 CV[upper(c)] |= bit[m]; 277 CV[upper(c)] |= bit[m];
278 CV[lower(c)] |= bit[m]; 278 CV[lower(c)] |= bit[m];
279 } 279 }
280 else 280 else
281 { 281 {
282 CV[c] |= bit[m]; 282 CV[c] |= bit[m];
283 } 283 }
284 m++; 284 m++;
285 break; 285 break;
286 } 286 }
287 287
288 case '[' : 288 case '[' :
289 { 289 {
290 tchar c, clast; 290 tchar c, clast = 0;
291 bool invert = false; 291 bool invert = false;
292#ifdef _WINDOWS 292#ifdef _WINDOWS
293 if (pat.at(p+1).unicode() == '^') 293 if (pat.at(p+1).unicode() == '^')
294#else 294#else
295 if (pat[p+1].unicode() == '^') 295 if (pat[p+1].unicode() == '^')
296#endif 296#endif
297 { 297 {
298 p++; 298 p++;
299 invert = true; 299 invert = true;
300 } 300 }
301#ifdef _WINDOWS 301#ifdef _WINDOWS
302 while ((c = pat.at(++p).unicode()) != ']') 302 while ((c = pat.at(++p).unicode()) != ']')
303#else 303#else
304 while ((c = pat[++p].unicode()) != ']') 304 while ((c = pat[++p].unicode()) != ']')
305#endif 305#endif
306 { 306 {
307 if (c == '\\') 307 if (c == '\\')
308 { 308 {
309#ifdef _WINDOWS 309#ifdef _WINDOWS
310 c = escapedchar(pat.at(++p).unicode()); 310 c = escapedchar(pat.at(++p).unicode());
311#else 311#else
312 c = escapedchar(pat[++p].unicode()); 312 c = escapedchar(pat[++p].unicode());
313#endif 313#endif
314 if (c == ']') break; 314 if (c == ']') break;
diff --git a/noncore/apps/opie-reader/Palm2QImage.cpp b/noncore/apps/opie-reader/Palm2QImage.cpp
index 361755f..09cad1c 100644
--- a/noncore/apps/opie-reader/Palm2QImage.cpp
+++ b/noncore/apps/opie-reader/Palm2QImage.cpp
@@ -104,49 +104,49 @@ static ColorMapEntry Palm8BitColormap[] = {
104 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, 104 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
105 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, 105 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
106 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, 106 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
107 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, 107 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
108 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, 108 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
109 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }}; 109 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }};
110 110
111static ColorMapEntry Palm1BitColormap[] = {{ 255, 255, 255 }, { 0, 0, 0 }}; 111static ColorMapEntry Palm1BitColormap[] = {{ 255, 255, 255 }, { 0, 0, 0 }};
112 112
113static ColorMapEntry Palm2BitColormap[] = { 113static ColorMapEntry Palm2BitColormap[] = {
114 { 255, 255, 255 }, { 192, 192, 192 }, { 128, 128, 128 }, { 0, 0, 0 }}; 114 { 255, 255, 255 }, { 192, 192, 192 }, { 128, 128, 128 }, { 0, 0, 0 }};
115 115
116static ColorMapEntry Palm4BitColormap[] = { 116static ColorMapEntry Palm4BitColormap[] = {
117 { 255, 255, 255 }, { 238, 238, 238 }, { 221, 221, 221 }, { 204, 204, 204 }, 117 { 255, 255, 255 }, { 238, 238, 238 }, { 221, 221, 221 }, { 204, 204, 204 },
118 { 187, 187, 187 }, { 170, 170, 170 }, { 153, 153, 153 }, { 136, 136, 136 }, 118 { 187, 187, 187 }, { 170, 170, 170 }, { 153, 153, 153 }, { 136, 136, 136 },
119 { 119, 119, 119 }, { 102, 102, 102 }, { 85, 85, 85 }, { 68, 68, 68 }, 119 { 119, 119, 119 }, { 102, 102, 102 }, { 85, 85, 85 }, { 68, 68, 68 },
120 { 51, 51, 51 }, { 34, 34, 34 }, { 17, 17, 17 }, { 0, 0, 0 }}; 120 { 51, 51, 51 }, { 34, 34, 34 }, { 17, 17, 17 }, { 0, 0, 0 }};
121 121
122QImage* Palm2QImage 122QImage* Palm2QImage
123 (unsigned char *image_bytes_in, int byte_count_in) 123 (unsigned char *image_bytes_in, int byte_count_in)
124{ 124{
125 unsigned int width, height, bytes_per_row, flags, next_depth_offset; 125 unsigned int width, height, bytes_per_row, flags, next_depth_offset;
126 unsigned int bits_per_pixel, version, transparent_index, compression_type, i, j, inval, inbit, mask, incount; 126 unsigned int bits_per_pixel, version, transparent_index, compression_type, i, j, inval, inbit, mask, incount;
127 unsigned int palm_red_bits, palm_green_bits, palm_blue_bits; 127 unsigned int palm_red_bits, palm_green_bits, palm_blue_bits;
128 unsigned char *palm_ptr, *x_ptr, *imagedata, *inbyte, *rowbuf, *lastrow, 128 unsigned char *palm_ptr, *x_ptr, *inbyte, *rowbuf, *lastrow,
129 *imagedatastart, *palmimage; 129 *imagedatastart, *palmimage;
130 ColorMapEntry *colormap; 130 ColorMapEntry *colormap;
131 131
132 palmimage = image_bytes_in; 132 palmimage = image_bytes_in;
133 width = READ_BIGENDIAN_SHORT(palmimage + 0); 133 width = READ_BIGENDIAN_SHORT(palmimage + 0);
134 height = READ_BIGENDIAN_SHORT(palmimage + 2); 134 height = READ_BIGENDIAN_SHORT(palmimage + 2);
135 bytes_per_row = READ_BIGENDIAN_SHORT(palmimage + 4); 135 bytes_per_row = READ_BIGENDIAN_SHORT(palmimage + 4);
136 flags = READ_BIGENDIAN_SHORT(palmimage + 6); 136 flags = READ_BIGENDIAN_SHORT(palmimage + 6);
137 bits_per_pixel = palmimage[8]; 137 bits_per_pixel = palmimage[8];
138 version = palmimage[9]; 138 version = palmimage[9];
139 next_depth_offset = READ_BIGENDIAN_SHORT(palmimage + 10); 139 next_depth_offset = READ_BIGENDIAN_SHORT(palmimage + 10);
140 transparent_index = palmimage[12]; 140 transparent_index = palmimage[12];
141 compression_type = palmimage[13]; 141 compression_type = palmimage[13];
142 /* bytes 14 and 15 are reserved by Palm and always 0 */ 142 /* bytes 14 and 15 are reserved by Palm and always 0 */
143 143
144#if 0 144#if 0
145// qDebug ("Palm image is %dx%d, %d bpp, version %d, flags 0x%x, compression %d", width, height, bits_per_pixel, version, flags, compression_type); 145// qDebug ("Palm image is %dx%d, %d bpp, version %d, flags 0x%x, compression %d", width, height, bits_per_pixel, version, flags, compression_type);
146#endif 146#endif
147 147
148 if (compression_type == PALM_COMPRESSION_PACKBITS) { 148 if (compression_type == PALM_COMPRESSION_PACKBITS) {
149// qDebug ("Image uses packbits compression; not yet supported"); 149// qDebug ("Image uses packbits compression; not yet supported");
150 return NULL; 150 return NULL;
151 } else if ((compression_type != PALM_COMPRESSION_NONE) && 151 } else if ((compression_type != PALM_COMPRESSION_NONE) &&
152 (compression_type != PALM_COMPRESSION_RLE) && 152 (compression_type != PALM_COMPRESSION_RLE) &&
@@ -192,49 +192,49 @@ QImage* Palm2QImage
192 if (palm_blue_bits > 8 || palm_green_bits > 8 || palm_red_bits > 8) { 192 if (palm_blue_bits > 8 || palm_green_bits > 8 || palm_red_bits > 8) {
193// qDebug("Can't handle this format DirectColor image -- too wide in some color (%d:%d:%d)\n", palm_red_bits, palm_green_bits, palm_blue_bits); 193// qDebug("Can't handle this format DirectColor image -- too wide in some color (%d:%d:%d)\n", palm_red_bits, palm_green_bits, palm_blue_bits);
194 return NULL; 194 return NULL;
195 } 195 }
196 if (bits_per_pixel > (8 * sizeof(unsigned long))) { 196 if (bits_per_pixel > (8 * sizeof(unsigned long))) {
197// qDebug ("Can't handle this format DirectColor image -- too many bits per pixel (%d)\n", bits_per_pixel); 197// qDebug ("Can't handle this format DirectColor image -- too many bits per pixel (%d)\n", bits_per_pixel);
198 return NULL; 198 return NULL;
199 } 199 }
200 imagedatastart = palmimage + 24; 200 imagedatastart = palmimage + 24;
201 } else { 201 } else {
202// qDebug("Unknown bits-per-pixel of %d encountered.\n", bits_per_pixel); 202// qDebug("Unknown bits-per-pixel of %d encountered.\n", bits_per_pixel);
203 return NULL; 203 return NULL;
204 } 204 }
205 205
206#ifndef USEQPE 206#ifndef USEQPE
207 QImage* qimage = new QImage(width, height, 32); 207 QImage* qimage = new QImage(width, height, 32);
208#else 208#else
209 QImage* qimage = new QImage(width, height, 16); 209 QImage* qimage = new QImage(width, height, 16);
210#endif 210#endif
211 211
212 /* row by row, uncompress the Palm image and copy it to the JPEG buffer */ 212 /* row by row, uncompress the Palm image and copy it to the JPEG buffer */
213 rowbuf = new unsigned char[bytes_per_row * width]; 213 rowbuf = new unsigned char[bytes_per_row * width];
214 lastrow = new unsigned char[bytes_per_row * width]; 214 lastrow = new unsigned char[bytes_per_row * width];
215 215
216 for (i=0, palm_ptr = imagedatastart , x_ptr = imagedata; i < height; ++i) { 216 for (i=0, palm_ptr = imagedatastart , x_ptr = 0; i < height; ++i) {
217// qDebug("inval:%x palm_ptr:%x x_ptr:%x bpr:%x", inval, palm_ptr, x_ptr, bytes_per_row); 217// qDebug("inval:%x palm_ptr:%x x_ptr:%x bpr:%x", inval, palm_ptr, x_ptr, bytes_per_row);
218 218
219 /* first, uncompress the Palm image */ 219 /* first, uncompress the Palm image */
220 if ((flags & PALM_IS_COMPRESSED_FLAG) && (compression_type == PALM_COMPRESSION_RLE)) { 220 if ((flags & PALM_IS_COMPRESSED_FLAG) && (compression_type == PALM_COMPRESSION_RLE)) {
221 for (j = 0; j < bytes_per_row; ) { 221 for (j = 0; j < bytes_per_row; ) {
222 incount = *palm_ptr++; 222 incount = *palm_ptr++;
223 inval = *palm_ptr++; 223 inval = *palm_ptr++;
224 memset(rowbuf + j, inval, incount); 224 memset(rowbuf + j, inval, incount);
225 j += incount; 225 j += incount;
226 } 226 }
227 } else if ((flags & PALM_IS_COMPRESSED_FLAG) && (compression_type == PALM_COMPRESSION_SCANLINE)) { 227 } else if ((flags & PALM_IS_COMPRESSED_FLAG) && (compression_type == PALM_COMPRESSION_SCANLINE)) {
228 for (j = 0; j < bytes_per_row; j += 8) { 228 for (j = 0; j < bytes_per_row; j += 8) {
229 incount = *palm_ptr++; 229 incount = *palm_ptr++;
230 inval = ((bytes_per_row - j) < 8) ? (bytes_per_row - j) : 8; 230 inval = ((bytes_per_row - j) < 8) ? (bytes_per_row - j) : 8;
231 for (inbit = 0; inbit < inval; inbit += 1) { 231 for (inbit = 0; inbit < inval; inbit += 1) {
232 if (incount & (1 << (7 - inbit))) 232 if (incount & (1 << (7 - inbit)))
233 rowbuf[j + inbit] = *palm_ptr++; 233 rowbuf[j + inbit] = *palm_ptr++;
234 else 234 else
235 rowbuf[j + inbit] = lastrow[j + inbit]; 235 rowbuf[j + inbit] = lastrow[j + inbit];
236 } 236 }
237 } 237 }
238 memcpy (lastrow, rowbuf, bytes_per_row); 238 memcpy (lastrow, rowbuf, bytes_per_row);
239 } else if (((flags & PALM_IS_COMPRESSED_FLAG) && 239 } else if (((flags & PALM_IS_COMPRESSED_FLAG) &&
240 (compression_type == PALM_COMPRESSION_NONE)) || 240 (compression_type == PALM_COMPRESSION_NONE)) ||
diff --git a/noncore/apps/opie-reader/QTReader.cpp b/noncore/apps/opie-reader/QTReader.cpp
index 0c56dd4..75da8ac 100644
--- a/noncore/apps/opie-reader/QTReader.cpp
+++ b/noncore/apps/opie-reader/QTReader.cpp
@@ -523,49 +523,49 @@ void QTReader::setDoubleBuffer(bool _b)
523 { 523 {
524 if (dbuff != NULL) 524 if (dbuff != NULL)
525 { 525 {
526 delete dbuff; 526 delete dbuff;
527 delete dbp; 527 delete dbp;
528 } 528 }
529 dbuff = NULL; 529 dbuff = NULL;
530 dbp = NULL; 530 dbp = NULL;
531 } 531 }
532} 532}
533 533
534void QTReader::setTwoTouch(bool _b) 534void QTReader::setTwoTouch(bool _b)
535{ 535{
536 setBackgroundColor( m_bg ); 536 setBackgroundColor( m_bg );
537 m_twotouch = m_touchone = _b; 537 m_twotouch = m_touchone = _b;
538} 538}
539 539
540void QTReader::setContinuous(bool _b) 540void QTReader::setContinuous(bool _b)
541{ 541{
542 buffdoc.setContinuous(m_continuousDocument = _b); 542 buffdoc.setContinuous(m_continuousDocument = _b);
543} 543}
544 544
545void QTReader::processmousewordevent(size_t startpos, size_t startoffset, QMouseEvent* _e, int lineno) 545void QTReader::processmousewordevent(size_t startpos, size_t startoffset, QMouseEvent* _e, int lineno)
546{ 546{
547 unsigned long wrdstart, wrdend; 547 unsigned long wrdstart = 0, wrdend = 0;
548 QString wrd; 548 QString wrd;
549 int availht = ((m_rotated) ? width() : height()) - m_topmargin - m_bottommargin; 549 int availht = ((m_rotated) ? width() : height()) - m_topmargin - m_bottommargin;
550 if (m_twotouch) 550 if (m_twotouch)
551 { 551 {
552 if (m_touchone) 552 if (m_touchone)
553 { 553 {
554 m_touchone = false; 554 m_touchone = false;
555 m_startpos = startpos; 555 m_startpos = startpos;
556 m_startoffset = startoffset; 556 m_startoffset = startoffset;
557 setBackgroundColor( lightGray ); 557 setBackgroundColor( lightGray );
558 } 558 }
559 else 559 else
560 { 560 {
561 m_touchone = true; 561 m_touchone = true;
562 setBackgroundColor( m_bg ); 562 setBackgroundColor( m_bg );
563 size_t endpos, endoffset; 563 size_t endpos, endoffset;
564 endpos = startpos; 564 endpos = startpos;
565 endoffset = startoffset; 565 endoffset = startoffset;
566 size_t currentpos = locate(); 566 size_t currentpos = locate();
567 if (endpos >= m_startpos) 567 if (endpos >= m_startpos)
568 { 568 {
569 jumpto(m_startpos); 569 jumpto(m_startpos);
570 for (int i = 0; i < m_startoffset; i++) 570 for (int i = 0; i < m_startoffset; i++)
571 { 571 {
diff --git a/noncore/apps/opie-reader/plucker_base.cpp b/noncore/apps/opie-reader/plucker_base.cpp
index 849edfc..302ac73 100644
--- a/noncore/apps/opie-reader/plucker_base.cpp
+++ b/noncore/apps/opie-reader/plucker_base.cpp
@@ -684,49 +684,49 @@ void CPlucker_base::setSaveData(unsigned char*& data, unsigned short& len, unsig
684 size_t newlen = srclen+sizeof(sz)+sz*sizeof(unsigned long); 684 size_t newlen = srclen+sizeof(sz)+sz*sizeof(unsigned long);
685 unsigned char* newdata = new unsigned char[newlen]; 685 unsigned char* newdata = new unsigned char[newlen];
686 unsigned char* pdata = newdata; 686 unsigned char* pdata = newdata;
687 memcpy(newdata, src, srclen); 687 memcpy(newdata, src, srclen);
688 newdata += srclen; 688 newdata += srclen;
689 memcpy(newdata, &sz, sizeof(sz)); 689 memcpy(newdata, &sz, sizeof(sz));
690 newdata += sizeof(sz); 690 newdata += sizeof(sz);
691#ifdef _WINDOWS 691#ifdef _WINDOWS
692 for (it = visited.begin(); it != visited.end(); it++) 692 for (it = visited.begin(); it != visited.end(); it++)
693#else 693#else
694 for (CList<unsigned long>::iterator it = visited.begin(); it != visited.end(); it++) 694 for (CList<unsigned long>::iterator it = visited.begin(); it != visited.end(); it++)
695#endif 695#endif
696 { 696 {
697 unsigned long t = *it; 697 unsigned long t = *it;
698 //qDebug("[%u]", t); 698 //qDebug("[%u]", t);
699 memcpy(newdata, &t, sizeof(t)); 699 memcpy(newdata, &t, sizeof(t));
700 newdata += sizeof(t); 700 newdata += sizeof(t);
701 } 701 }
702 m_nav.setSaveData(data, len, pdata, newlen); 702 m_nav.setSaveData(data, len, pdata, newlen);
703 delete [] pdata; 703 delete [] pdata;
704} 704}
705 705
706void CPlucker_base::putSaveData(unsigned char*& src, unsigned short& srclen) 706void CPlucker_base::putSaveData(unsigned char*& src, unsigned short& srclen)
707{ 707{
708 unsigned short sz; 708 unsigned short sz = 0;
709 if (srclen >= sizeof(sz)) 709 if (srclen >= sizeof(sz))
710 { 710 {
711 memcpy(&sz, src, sizeof(sz)); 711 memcpy(&sz, src, sizeof(sz));
712 src += sizeof(sz); 712 src += sizeof(sz);
713 srclen -= sizeof(sz); 713 srclen -= sizeof(sz);
714 } 714 }
715 for (int i = 0; i < sz; i++) 715 for (int i = 0; i < sz; i++)
716 { 716 {
717 unsigned long t; 717 unsigned long t;
718 if (srclen >= sizeof(t)) 718 if (srclen >= sizeof(t))
719 { 719 {
720 memcpy(&t, src, sizeof(t)); 720 memcpy(&t, src, sizeof(t));
721 // qDebug("[%u]", t); 721 // qDebug("[%u]", t);
722 visited.push_front(t); 722 visited.push_front(t);
723 src += sizeof(t); 723 src += sizeof(t);
724 srclen -= sizeof(t); 724 srclen -= sizeof(t);
725 } 725 }
726 else 726 else
727 { 727 {
728 QMessageBox::warning(NULL, PROGNAME, "File data mismatch\nMight fix itself"); 728 QMessageBox::warning(NULL, PROGNAME, "File data mismatch\nMight fix itself");
729 break; 729 break;
730 } 730 }
731 } 731 }
732 m_nav.putSaveData(src, srclen); 732 m_nav.putSaveData(src, srclen);
diff --git a/noncore/apps/opie-reader/striphtml.cpp b/noncore/apps/opie-reader/striphtml.cpp
index c434dbb..a2ad56b 100644
--- a/noncore/apps/opie-reader/striphtml.cpp
+++ b/noncore/apps/opie-reader/striphtml.cpp
@@ -452,49 +452,49 @@ QString striphtml::getattr(tchar& ch)
452} 452}
453 453
454linkType striphtml::hyperlink(unsigned int n, unsigned int, QString& w, QString& nm) 454linkType striphtml::hyperlink(unsigned int n, unsigned int, QString& w, QString& nm)
455{ 455{
456#if defined(USEQPE) || defined(_WINDOWS) 456#if defined(USEQPE) || defined(_WINDOWS)
457 QMap<unsigned long, QString>::Iterator hrefit = id2href->find(n); 457 QMap<unsigned long, QString>::Iterator hrefit = id2href->find(n);
458#else 458#else
459 QMap<unsigned long, QString>::iterator hrefit = id2href->find(n); 459 QMap<unsigned long, QString>::iterator hrefit = id2href->find(n);
460#endif 460#endif
461 if (hrefit == id2href->end()) 461 if (hrefit == id2href->end())
462 { 462 {
463 return eNone; 463 return eNone;
464 } 464 }
465 QString href = *hrefit; 465 QString href = *hrefit;
466#if defined(USEQPE) || defined(_WINDOWS) 466#if defined(USEQPE) || defined(_WINDOWS)
467 QMap<QString, unsigned long>::Iterator fpit = href2filepos->find(href); 467 QMap<QString, unsigned long>::Iterator fpit = href2filepos->find(href);
468#else 468#else
469 QMap<QString, unsigned long>::iterator fpit = href2filepos->find(href); 469 QMap<QString, unsigned long>::iterator fpit = href2filepos->find(href);
470#endif 470#endif
471 if (fpit == href2filepos->end()) 471 if (fpit == href2filepos->end())
472 { 472 {
473 if (href == "history.back()") 473 if (href == "history.back()")
474 { 474 {
475 QString fc = currentfile; 475 QString fc = currentfile;
476 unsigned long loc; 476 unsigned long loc = 0;
477 htmlmark m(fc, loc); 477 htmlmark m(fc, loc);
478 linkType ret = (m_nav.back(m)) ? eFile : eNone; 478 linkType ret = (m_nav.back(m)) ? eFile : eNone;
479 if (fc == m.filename()) 479 if (fc == m.filename())
480 { 480 {
481 if ((ret & eFile) != 0) 481 if ((ret & eFile) != 0)
482 { 482 {
483 locate(m.posn()); 483 locate(m.posn());
484 return eLink; 484 return eLink;
485 } 485 }
486 } 486 }
487 return eNone; 487 return eNone;
488 } 488 }
489 qDebug("Searching for %s", (const char*)href); 489 qDebug("Searching for %s", (const char*)href);
490 490
491 491
492 QString file, name; 492 QString file, name;
493 493
494 int colon = href.find('#'); 494 int colon = href.find('#');
495 if (colon >= 0) 495 if (colon >= 0)
496 { 496 {
497 file = dehtml(href.left(colon)); 497 file = dehtml(href.left(colon));
498 name = dehtml(href.right(href.length()-colon-1)); 498 name = dehtml(href.right(href.length()-colon-1));
499 } 499 }
500 else 500 else