summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/pcmcia/pcmcia.cpp6
-rw-r--r--noncore/apps/checkbook/mainwindow.cpp7
-rw-r--r--noncore/apps/opie-console/procctl.cpp5
-rw-r--r--noncore/apps/tinykate/libkate/document/katedocument.cpp123
-rw-r--r--noncore/settings/sysinfo/devicesinfo.cpp2
-rw-r--r--noncore/todayplugins/stockticker/libstocks/http.c2
6 files changed, 77 insertions, 68 deletions
diff --git a/noncore/applets/pcmcia/pcmcia.cpp b/noncore/applets/pcmcia/pcmcia.cpp
index 187adc6..c639002 100644
--- a/noncore/applets/pcmcia/pcmcia.cpp
+++ b/noncore/applets/pcmcia/pcmcia.cpp
@@ -191,96 +191,102 @@ void PcmciaManager::cardMessage( const QCString & msg, const QByteArray & )
191{ 191{
192 odebug << "PcmciaManager::cardMessage( '" << msg << "' )" << oendl; 192 odebug << "PcmciaManager::cardMessage( '" << msg << "' )" << oendl;
193 if ( msg != "stabChanged()" ) return; 193 if ( msg != "stabChanged()" ) return;
194 194
195 /* check if a previously unknown card has been inserted */ 195 /* check if a previously unknown card has been inserted */
196 OPcmciaSystem::instance()->synchronize(); 196 OPcmciaSystem::instance()->synchronize();
197 197
198 if ( !OPcmciaSystem::instance()->cardCount() ) return; 198 if ( !OPcmciaSystem::instance()->cardCount() ) return;
199 199
200 OConfig cfg( "PCMCIA" ); 200 OConfig cfg( "PCMCIA" );
201 cfg.setGroup( "Global" ); 201 cfg.setGroup( "Global" );
202 int nCards = cfg.readNumEntry( "nCards", 0 ); 202 int nCards = cfg.readNumEntry( "nCards", 0 );
203 203
204 OPcmciaSystem* sys = OPcmciaSystem::instance(); 204 OPcmciaSystem* sys = OPcmciaSystem::instance();
205 OPcmciaSystem::CardIterator it = sys->iterator(); 205 OPcmciaSystem::CardIterator it = sys->iterator();
206 206
207 bool newCard = true; 207 bool newCard = true;
208 OPcmciaSocket* theCard = 0; 208 OPcmciaSocket* theCard = 0;
209 209
210 while ( it.current() && newCard ) 210 while ( it.current() && newCard )
211 { 211 {
212 if ( it.current()->isEmpty() ) 212 if ( it.current()->isEmpty() )
213 { 213 {
214 odebug << "pcmcia: skipping empty card in socket " << it.current()->number() << oendl; 214 odebug << "pcmcia: skipping empty card in socket " << it.current()->number() << oendl;
215 ++it; 215 ++it;
216 continue; 216 continue;
217 } 217 }
218 else 218 else
219 { 219 {
220 theCard = it.current(); 220 theCard = it.current();
221 QString cardName = theCard->productIdentity(); 221 QString cardName = theCard->productIdentity();
222 for ( int i = 0; i < nCards; ++i ) 222 for ( int i = 0; i < nCards; ++i )
223 { 223 {
224 QString cardSection = QString( "Card_%1" ).arg( i ); 224 QString cardSection = QString( "Card_%1" ).arg( i );
225 cfg.setGroup( cardSection ); 225 cfg.setGroup( cardSection );
226 QString name = cfg.readEntry( "name" ); 226 QString name = cfg.readEntry( "name" );
227 odebug << "pcmcia: comparing card '" << cardName << "' with known card '" << name << "'" << oendl; 227 odebug << "pcmcia: comparing card '" << cardName << "' with known card '" << name << "'" << oendl;
228 if ( cardName == name ) 228 if ( cardName == name )
229 { 229 {
230 newCard = false; 230 newCard = false;
231 odebug << "pcmcia: we have seen this card before" << oendl; 231 odebug << "pcmcia: we have seen this card before" << oendl;
232 executeAction( theCard, "insert" ); 232 executeAction( theCard, "insert" );
233 break; 233 break;
234 } 234 }
235 } 235 }
236 if ( !newCard ) ++it; else break; 236 if ( !newCard ) ++it; else break;
237 } 237 }
238 } 238 }
239
240 if ( !theCard ) {
241 owarn << "pcmcia: Finished working through cards in PCMCIA system but I do not have a valid card handle" << oendl;
242 return;
243 }
244
239 if ( newCard ) 245 if ( newCard )
240 { 246 {
241 odebug << "pcmcia: unconfigured card detected" << oendl; 247 odebug << "pcmcia: unconfigured card detected" << oendl;
242 QString newCardName = theCard->productIdentity(); 248 QString newCardName = theCard->productIdentity();
243 int result = QMessageBox::information( qApp->desktop(), 249 int result = QMessageBox::information( qApp->desktop(),
244 tr( "PCMCIA/CF Subsystem" ), 250 tr( "PCMCIA/CF Subsystem" ),
245 tr( "<qt>You have inserted the card<br/><b>%1</b><br/>This card is not yet configured. Do you want to configure it now?</qt>" ).arg( newCardName ), 251 tr( "<qt>You have inserted the card<br/><b>%1</b><br/>This card is not yet configured. Do you want to configure it now?</qt>" ).arg( newCardName ),
246 tr( "Yes" ), tr( "No" ), 0, 0, 1 ); 252 tr( "Yes" ), tr( "No" ), 0, 0, 1 );
247 odebug << "pcmcia: result = " << result << oendl; 253 odebug << "pcmcia: result = " << result << oendl;
248 if ( result == 0 ) 254 if ( result == 0 )
249 { 255 {
250 configure( theCard ); 256 configure( theCard );
251 } 257 }
252 else 258 else
253 { 259 {
254 odebug << "pcmcia: user doesn't want to configure " << newCardName << " now." << oendl; 260 odebug << "pcmcia: user doesn't want to configure " << newCardName << " now." << oendl;
255 } 261 }
256 } 262 }
257 else // it's an already configured card 263 else // it's an already configured card
258 { 264 {
259 odebug << "pcmcia: doing nothing... why do we come here?" << oendl; 265 odebug << "pcmcia: doing nothing... why do we come here?" << oendl;
260 } 266 }
261} 267}
262 268
263void PcmciaManager::paintEvent( QPaintEvent * ) 269void PcmciaManager::paintEvent( QPaintEvent * )
264{ 270{
265 QPainter p( this ); 271 QPainter p( this );
266 p.drawPixmap( 0, 0, pm ); 272 p.drawPixmap( 0, 0, pm );
267} 273}
268 274
269int PcmciaManager::position() 275int PcmciaManager::position()
270{ 276{
271 return 7; 277 return 7;
272} 278}
273 279
274void PcmciaManager::execCommand( const QStringList &strList ) 280void PcmciaManager::execCommand( const QStringList &strList )
275{ 281{
276} 282}
277 283
278void PcmciaManager::userCardAction( int action ) 284void PcmciaManager::userCardAction( int action )
279{ 285{
280 odebug << "pcmcia: user action on socket " << action / 100 << " requested. action = " << action << oendl; 286 odebug << "pcmcia: user action on socket " << action / 100 << " requested. action = " << action << oendl;
281 287
282 int socket = action / 100; 288 int socket = action / 100;
283 int what = action % 100; 289 int what = action % 100;
284 bool success = false; 290 bool success = false;
285 291
286 switch ( what ) 292 switch ( what )
diff --git a/noncore/apps/checkbook/mainwindow.cpp b/noncore/apps/checkbook/mainwindow.cpp
index d9e2047..8e2e2e3 100644
--- a/noncore/apps/checkbook/mainwindow.cpp
+++ b/noncore/apps/checkbook/mainwindow.cpp
@@ -198,134 +198,133 @@ void MainWindow::addCheckbook( CBInfo *cb )
198 QString balance; 198 QString balance;
199 balance.sprintf( "%.2f", cb->balance() ); 199 balance.sprintf( "%.2f", cb->balance() );
200 balance.prepend( _cfg.getCurrencySymbol() ); 200 balance.prepend( _cfg.getCurrencySymbol() );
201 lvi->setText( posName + 1, balance ); 201 lvi->setText( posName + 1, balance );
202 } 202 }
203} 203}
204 204
205void MainWindow::buildFilename( const QString &name ) 205void MainWindow::buildFilename( const QString &name )
206{ 206{
207 tempFilename = cbDir; 207 tempFilename = cbDir;
208 tempFilename.append( name ); 208 tempFilename.append( name );
209 tempFilename.append( ".qcb" ); 209 tempFilename.append( ".qcb" );
210} 210}
211 211
212void MainWindow::slotNew() 212void MainWindow::slotNew()
213{ 213{
214 CBInfo *cb = new CBInfo(); 214 CBInfo *cb = new CBInfo();
215 215
216 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 216 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
217 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted ) 217 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
218 { 218 {
219 // Save new checkbook 219 // Save new checkbook
220 buildFilename( cb->name() ); 220 buildFilename( cb->name() );
221 _cfg.setLastBook( cb->name() ); 221 _cfg.setLastBook( cb->name() );
222 cb->setFilename( tempFilename ); 222 cb->setFilename( tempFilename );
223 cb->write(); 223 cb->write();
224 224
225 // Add to listbox 225 // Add to listbox
226 checkbooks->inSort( cb ); 226 checkbooks->inSort( cb );
227 addCheckbook( cb ); 227 addCheckbook( cb );
228 } 228 }
229 delete currcb; 229 delete currcb;
230} 230}
231 231
232// --- slotEdit --------------------------------------------------------------- 232// --- slotEdit ---------------------------------------------------------------
233void MainWindow::slotEdit() 233void MainWindow::slotEdit()
234{ 234{
235 // get name and open it 235 // get name and open it
236 QListViewItem *curritem = cbList->currentItem(); 236 QListViewItem *curritem = cbList->currentItem();
237 if ( !curritem ) 237 if ( !curritem )
238 return; 238 return;
239 openBook( curritem ); 239 openBook( curritem );
240} 240}
241 241
242 242
243// --- openBook --------------------------------------------------------------- 243// --- openBook ---------------------------------------------------------------
244void MainWindow::openBook(QListViewItem *curritem) 244void MainWindow::openBook(QListViewItem *curritem)
245{ 245{
246 if ( !curritem ) return;
246 // find book in List 247 // find book in List
247 QString currname=curritem->text(posName); 248 QString currname=curritem->text(posName);
248 CBInfo *cb = checkbooks->first(); 249 CBInfo *cb = checkbooks->first();
249 while ( cb ) { 250 while ( cb ) {
250 if ( cb->name() == currname ) 251 if ( cb->name() == currname )
251 break; 252 break;
252 cb = checkbooks->next(); 253 cb = checkbooks->next();
253 } 254 }
254 if ( !cb ) return; 255 if ( !cb ) return;
255 256
256 // 257 //
257 buildFilename( currname ); 258 buildFilename( currname );
258 float currbalance = cb->balance(); 259 float currbalance = cb->balance();
259 bool currlock = !cb->password().isNull(); 260 bool currlock = !cb->password().isNull();
260 261
261 if ( currlock ) 262 if ( currlock )
262 { 263 {
263 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) ); 264 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) );
264 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() ) 265 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() )
265 { 266 {
266 delete pw; 267 delete pw;
267 return; 268 return;
268 } 269 }
269 delete pw; 270 delete pw;
270 } 271 }
271 272
272 _cfg.setLastBook( currname ); 273 _cfg.setLastBook( currname );
273 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 274 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
274 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted ) 275 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
275 { 276 {
276 QString newname = cb->name(); 277 QString newname = cb->name();
277 if ( currname != newname ) 278 if ( currname != newname )
278 { 279 {
279 // Update name if changed 280 // Update name if changed
280 if( curritem ) { 281 curritem->setText( posName, newname );
281 curritem->setText( posName, newname ); 282 cbList->sort();
282 cbList->sort();
283 }
284 _cfg.setLastBook( newname ); 283 _cfg.setLastBook( newname );
285 284
286 // Remove old file 285 // Remove old file
287 QFile f( tempFilename ); 286 QFile f( tempFilename );
288 if ( f.exists() ) 287 if ( f.exists() )
289 f.remove(); 288 f.remove();
290 289
291 // Get new filename 290 // Get new filename
292 buildFilename( newname ); 291 buildFilename( newname );
293 cb->setFilename( tempFilename ); 292 cb->setFilename( tempFilename );
294 } 293 }
295 294
296 cb->write(); 295 cb->write();
297 296
298 // Update lock if changed 297 // Update lock if changed
299 if ( _cfg.getShowLocks() && !cb->password().isNull() != currlock ) 298 if ( _cfg.getShowLocks() && !cb->password().isNull() != currlock )
300 { 299 {
301 if ( !cb->password().isNull() ) 300 if ( !cb->password().isNull() )
302 curritem->setPixmap( 0, lockIcon ); 301 curritem->setPixmap( 0, lockIcon );
303 else 302 else
304 curritem->setPixmap( 0, nullIcon ); 303 curritem->setPixmap( 0, nullIcon );
305 } 304 }
306 305
307 // Update balance if changed 306 // Update balance if changed
308 if ( _cfg.getShowBalances() && cb->balance() != currbalance ) 307 if ( _cfg.getShowBalances() && cb->balance() != currbalance )
309 { 308 {
310 QString tempstr; 309 QString tempstr;
311 tempstr.sprintf( "%.2f", cb->balance() ); 310 tempstr.sprintf( "%.2f", cb->balance() );
312 tempstr.prepend( _cfg.getCurrencySymbol() ); 311 tempstr.prepend( _cfg.getCurrencySymbol() );
313 curritem->setText( posName + 1, tempstr ); 312 curritem->setText( posName + 1, tempstr );
314 } 313 }
315 314
316 // write config, if needed 315 // write config, if needed
317 if( _cfg.isDirty() ) { 316 if( _cfg.isDirty() ) {
318 Config config("checkbook"); 317 Config config("checkbook");
319 _cfg.writeConfig( config ); 318 _cfg.writeConfig( config );
320 } 319 }
321 } 320 }
322 delete currcb; 321 delete currcb;
323} 322}
324 323
325// --- slotDelete ------------------------------------------------------------- 324// --- slotDelete -------------------------------------------------------------
326void MainWindow::slotDelete() 325void MainWindow::slotDelete()
327{ 326{
328 QString currname = cbList->currentItem()->text( posName ); 327 QString currname = cbList->currentItem()->text( posName );
329 328
330 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) ) 329 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) )
331 { 330 {
diff --git a/noncore/apps/opie-console/procctl.cpp b/noncore/apps/opie-console/procctl.cpp
index a44529b..5239e26 100644
--- a/noncore/apps/opie-console/procctl.cpp
+++ b/noncore/apps/opie-console/procctl.cpp
@@ -4,94 +4,97 @@
4#include <unistd.h> 4#include <unistd.h>
5 5
6#include "procctl.h" 6#include "procctl.h"
7 7
8ProcContainer *ProcCtl::m_last = 0; 8ProcContainer *ProcCtl::m_last = 0;
9ProcCtl* ProcCtl::m_self = 0; 9ProcCtl* ProcCtl::m_self = 0;
10 10
11ProcCtl::ProcCtl() { 11ProcCtl::ProcCtl() {
12 signal( SIGCHLD, signal_handler ); 12 signal( SIGCHLD, signal_handler );
13} 13}
14ProcCtl::~ProcCtl() { 14ProcCtl::~ProcCtl() {
15} 15}
16ProcCtl* ProcCtl::self() { 16ProcCtl* ProcCtl::self() {
17 if (!m_self ) { 17 if (!m_self ) {
18 m_self = new ProcCtl; 18 m_self = new ProcCtl;
19 } 19 }
20 return m_self; 20 return m_self;
21} 21}
22void ProcCtl::add(pid_t pi, int fd ) { 22void ProcCtl::add(pid_t pi, int fd ) {
23 ProcContainer * con = new ProcContainer; 23 ProcContainer * con = new ProcContainer;
24 //memset(con, 0, sizeof(con) ); 24 //memset(con, 0, sizeof(con) );
25 con->pid = pi; 25 con->pid = pi;
26 con->fd = fd; 26 con->fd = fd;
27 con->status = 0; 27 con->status = 0;
28 con->prev = m_last; 28 con->prev = m_last;
29 29
30 m_last = con; 30 m_last = con;
31 31
32} 32}
33void ProcCtl::remove( pid_t pi ) { 33void ProcCtl::remove( pid_t pi ) {
34 /* 34 /*
35 * We first check if the last item 35 * We first check if the last item
36 * is equal to pi the we 36 * is equal to pi the we
37 * 37 *
38 */ 38 */
39 ProcContainer* con; 39 ProcContainer* con;
40 if (m_last->pid == pi ) { 40 if (m_last->pid == pi ) {
41 con = m_last; 41 con = m_last;
42 m_last = con->prev; 42 m_last = con->prev;
43 delete con; 43 delete con;
44 return; 44 return;
45 } 45 }
46 46
47 con = m_last; 47 con = m_last;
48 ProcContainer* forw = 0l; 48 ProcContainer* forw = 0l;
49 while (con ) { 49 while (con ) {
50 /* remove it */ 50 /* remove it */
51 if ( pi == con->pid ) { 51 if ( pi == con->pid ) {
52 forw->prev = con->prev; 52 if (forw)
53 forw->prev = con->prev;
54 else
55 forw = con->prev;
53 delete con; 56 delete con;
54 return; 57 return;
55 } 58 }
56 59
57 forw = con; 60 forw = con;
58 con = con->prev; 61 con = con->prev;
59 } 62 }
60 63
61} 64}
62void ProcCtl::remove( ProcContainer con ) { 65void ProcCtl::remove( ProcContainer con ) {
63 remove( con.pid ); 66 remove( con.pid );
64} 67}
65int ProcCtl::status(pid_t pid )const{ 68int ProcCtl::status(pid_t pid )const{
66 ProcContainer *con = m_last; 69 ProcContainer *con = m_last;
67 while (con) { 70 while (con) {
68 if (con->pid == pid ) 71 if (con->pid == pid )
69 return con->status; 72 return con->status;
70 con = con->prev; 73 con = con->prev;
71 } 74 }
72 return -1; 75 return -1;
73} 76}
74void ProcCtl::signal_handler(int) { 77void ProcCtl::signal_handler(int) {
75 int status; 78 int status;
76 signal( SIGCHLD, signal_handler ); 79 signal( SIGCHLD, signal_handler );
77 pid_t pi = waitpid( -1, &status, WNOHANG ); 80 pid_t pi = waitpid( -1, &status, WNOHANG );
78 81
79 /* 82 /*
80 * find the container for pid 83 * find the container for pid
81 * 84 *
82 */ 85 */
83 if ( pi < 0 ) { 86 if ( pi < 0 ) {
84 return; 87 return;
85 } 88 }
86 89
87 ProcContainer* con = m_last; 90 ProcContainer* con = m_last;
88 while (con) { 91 while (con) {
89 if ( con->pid == pi ) { 92 if ( con->pid == pi ) {
90 con->status = status; 93 con->status = status;
91 char result = 1; 94 char result = 1;
92 /* give a 'signal' */ 95 /* give a 'signal' */
93 ::write(con->fd, &result, 1 ); 96 ::write(con->fd, &result, 1 );
94 } 97 }
95 con = con->prev; 98 con = con->prev;
96 } 99 }
97} 100}
diff --git a/noncore/apps/tinykate/libkate/document/katedocument.cpp b/noncore/apps/tinykate/libkate/document/katedocument.cpp
index b82a86a..692fd46 100644
--- a/noncore/apps/tinykate/libkate/document/katedocument.cpp
+++ b/noncore/apps/tinykate/libkate/document/katedocument.cpp
@@ -1970,370 +1970,371 @@ void KateDocument::slotBufferChanged() {
1970 //updateLines();//JW 1970 //updateLines();//JW
1971 updateViews(); 1971 updateViews();
1972} 1972}
1973 1973
1974void KateDocument::slotBufferHighlight(long start,long stop) { 1974void KateDocument::slotBufferHighlight(long start,long stop) {
1975 kdDebug(13020)<<"KateDocument::slotBufferHighlight"<<QString("%1-%2").arg(start).arg(stop)<<endl; 1975 kdDebug(13020)<<"KateDocument::slotBufferHighlight"<<QString("%1-%2").arg(start).arg(stop)<<endl;
1976 updateLines(start,stop); 1976 updateLines(start,stop);
1977// buffer->startLoadTimer(); 1977// buffer->startLoadTimer();
1978} 1978}
1979 1979
1980void KateDocument::updateViews(KateView *exclude) { 1980void KateDocument::updateViews(KateView *exclude) {
1981 KateView *view; 1981 KateView *view;
1982 int flags; 1982 int flags;
1983 bool markState = hasMarkedText(); 1983 bool markState = hasMarkedText();
1984 1984
1985 flags = (newDocGeometry) ? KateView::ufDocGeometry : 0; 1985 flags = (newDocGeometry) ? KateView::ufDocGeometry : 0;
1986 for (view = views.first(); view != 0L; view = views.next() ) { 1986 for (view = views.first(); view != 0L; view = views.next() ) {
1987 if (view != exclude) view->updateView(flags); 1987 if (view != exclude) view->updateView(flags);
1988 1988
1989 // notify every view about the changed mark state.... 1989 // notify every view about the changed mark state....
1990 if (oldMarkState != markState) emit view->newMarkStatus(); 1990 if (oldMarkState != markState) emit view->newMarkStatus();
1991 } 1991 }
1992 oldMarkState = markState; 1992 oldMarkState = markState;
1993 newDocGeometry = false; 1993 newDocGeometry = false;
1994} 1994}
1995 1995
1996QColor &KateDocument::cursorCol(int x, int y) { 1996QColor &KateDocument::cursorCol(int x, int y) {
1997 int attr; 1997 int attr;
1998 Attribute *a; 1998 Attribute *a;
1999 1999
2000 TextLine::Ptr textLine = getTextLine(y); 2000 TextLine::Ptr textLine = getTextLine(y);
2001 attr = textLine->getRawAttr(x); 2001 attr = textLine->getRawAttr(x);
2002 a = &m_attribs[attr & taAttrMask]; 2002 a = &m_attribs[attr & taAttrMask];
2003 if (attr & taSelected) return a->selCol; else return a->col; 2003 if (attr & taSelected) return a->selCol; else return a->col;
2004} 2004}
2005 2005
2006void KateDocument::paintTextLine(QPainter &paint, int line, int xStart, int xEnd, bool showTabs) 2006void KateDocument::paintTextLine(QPainter &paint, int line, int xStart, int xEnd, bool showTabs)
2007{ 2007{
2008 paintTextLine (paint, line, 0, xStart, xEnd, showTabs); 2008 paintTextLine (paint, line, 0, xStart, xEnd, showTabs);
2009} 2009}
2010 2010
2011void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, int xEnd, bool showTabs) 2011void KateDocument::paintTextLine(QPainter &paint, int line, int y, int xStart, int xEnd, bool showTabs)
2012{ 2012{
2013 TextLine::Ptr textLine; 2013 TextLine::Ptr textLine;
2014 int len; 2014 int len;
2015 const QChar *s; 2015 const QChar *s;
2016 int z, x; 2016 int z, x;
2017 QChar ch; 2017 QChar ch;
2018 Attribute *a = 0L; 2018 Attribute *attrptr = 0L;
2019 int attr, nextAttr; 2019 int attr, nextAttr;
2020 int xs; 2020 int xs;
2021 int xc, zc; 2021 int xc, zc;
2022 2022
2023 if (line > lastLine()) { 2023 if (line > lastLine()) {
2024 paint.fillRect(0, y, xEnd - xStart,fontHeight, colors[0]); 2024 paint.fillRect(0, y, xEnd - xStart,fontHeight, colors[0]);
2025 return; 2025 return;
2026 } 2026 }
2027 2027
2028 textLine = getTextLine(line); 2028 textLine = getTextLine(line);
2029 len = textLine->length(); 2029 len = textLine->length();
2030 s = textLine->getText(); 2030 s = textLine->getText();
2031 2031
2032 // skip to first visible character 2032 // skip to first visible character
2033 x = 0; 2033 x = 0;
2034 z = 0; 2034 z = 0;
2035 do { 2035 do {
2036 xc = x; 2036 xc = x;
2037 zc = z; 2037 zc = z;
2038 if (z == len) break; 2038 if (z == len) break;
2039 ch = s[z];//textLine->getChar(z); 2039 ch = s[z];//textLine->getChar(z);
2040 if (ch == '\t') { 2040 if (ch == '\t') {
2041 x += m_tabWidth - (x % m_tabWidth); 2041 x += m_tabWidth - (x % m_tabWidth);
2042 } else { 2042 } else {
2043 a = &m_attribs[textLine->getAttr(z)]; 2043 attrptr = &m_attribs[textLine->getAttr(z)];
2044 2044
2045 if (a->bold && a->italic) 2045 if (attrptr->bold && attrptr->italic)
2046 x += myFontMetricsBI.width(ch); 2046 x += myFontMetricsBI.width(ch);
2047 else if (a->bold) 2047 else if (attrptr->bold)
2048 x += myFontMetricsBold.width(ch); 2048 x += myFontMetricsBold.width(ch);
2049 else if (a->italic) 2049 else if (attrptr->italic)
2050 x += myFontMetricsItalic.width(ch); 2050 x += myFontMetricsItalic.width(ch);
2051 else 2051 else
2052 x += myFontMetrics.width(ch); 2052 x += myFontMetrics.width(ch);
2053 } 2053 }
2054 z++; 2054 z++;
2055 } while (x <= xStart); 2055 } while (x <= xStart);
2056 2056
2057 // draw background 2057 // draw background
2058 xs = xStart; 2058 xs = xStart;
2059 attr = textLine->getRawAttr(zc); 2059 attr = textLine->getRawAttr(zc);
2060 while (x < xEnd) 2060 while (x < xEnd)
2061 { 2061 {
2062 nextAttr = textLine->getRawAttr(z); 2062 nextAttr = textLine->getRawAttr(z);
2063 if ((nextAttr ^ attr) & taSelected) 2063 if ((nextAttr ^ attr) & taSelected)
2064 { 2064 {
2065 if (attr & taSelected) 2065 if (attr & taSelected)
2066 paint.fillRect(xs - xStart, y, x - xs, fontHeight, colors[1]); 2066 paint.fillRect(xs - xStart, y, x - xs, fontHeight, colors[1]);
2067 else 2067 else
2068 paint.fillRect(xs - xStart, y, x - xs, fontHeight, colors[0]); 2068 paint.fillRect(xs - xStart, y, x - xs, fontHeight, colors[0]);
2069 2069
2070 xs = x; 2070 xs = x;
2071 attr = nextAttr; 2071 attr = nextAttr;
2072 } 2072 }
2073 2073
2074 if (z == len) break; 2074 if (z == len) break;
2075 2075
2076 ch = s[z];//textLine->getChar(z); 2076 ch = s[z];//textLine->getChar(z);
2077 2077
2078 if (ch == '\t') 2078 if (ch == '\t')
2079 x += m_tabWidth - (x % m_tabWidth); 2079 x += m_tabWidth - (x % m_tabWidth);
2080 else 2080 else
2081 { 2081 {
2082 a = &m_attribs[textLine->getAttr(z)]; 2082 attrptr = &m_attribs[textLine->getAttr(z)];
2083 2083
2084 if (a->bold && a->italic) 2084 if (attrptr->bold && attrptr->italic)
2085 x += myFontMetricsBI.width(ch); 2085 x += myFontMetricsBI.width(ch);
2086 else if (a->bold) 2086 else if (attrptr->bold)
2087 x += myFontMetricsBold.width(ch); 2087 x += myFontMetricsBold.width(ch);
2088 else if (a->italic) 2088 else if (attrptr->italic)
2089 x += myFontMetricsItalic.width(ch); 2089 x += myFontMetricsItalic.width(ch);
2090 else 2090 else
2091 x += myFontMetrics.width(ch); 2091 x += myFontMetrics.width(ch);
2092 } 2092 }
2093 z++; 2093 z++;
2094 } 2094 }
2095 2095
2096 if (attr & taSelected) 2096 if (attr & taSelected)
2097 paint.fillRect(xs - xStart, y, xEnd - xs, fontHeight, colors[1]); 2097 paint.fillRect(xs - xStart, y, xEnd - xs, fontHeight, colors[1]);
2098 else 2098 else
2099 paint.fillRect(xs - xStart, y, xEnd - xs, fontHeight, colors[0]); 2099 paint.fillRect(xs - xStart, y, xEnd - xs, fontHeight, colors[0]);
2100 2100
2101 len = z; //reduce length to visible length 2101 len = z; //reduce length to visible length
2102 2102
2103 // draw text 2103 // draw text
2104 x = xc; 2104 x = xc;
2105 z = zc; 2105 z = zc;
2106 y += fontAscent;// -1; 2106 y += fontAscent;// -1;
2107 attr = -1; 2107 attr = -1;
2108 while (z < len) { 2108 while (z < len) {
2109 ch = s[z];//textLine->getChar(z); 2109 ch = s[z];//textLine->getChar(z);
2110 if (ch == '\t') { 2110 if (ch == '\t') {
2111 if (z > zc) { 2111 if (z > zc) {
2112 //this should cause no copy at all 2112 //this should cause no copy at all
2113 QConstString str((QChar *) &s[zc], z - zc /*+1*/); 2113 QConstString str((QChar *) &s[zc], z - zc /*+1*/);
2114 QString s = str.string(); 2114 QString s = str.string();
2115 paint.drawText(x - xStart, y, s); 2115 paint.drawText(x - xStart, y, s);
2116 2116
2117 if (a->bold && a->italic) 2117 if (attrptr && attrptr->bold && attrptr->italic)
2118 x += myFontMetricsBI.width(s); 2118 x += myFontMetricsBI.width(s);
2119 else if (a->bold) 2119 else if (attrptr && attrptr->bold)
2120 x += myFontMetricsBold.width(s); 2120 x += myFontMetricsBold.width(s);
2121 else if (a->italic) 2121 else if (attrptr && attrptr->italic)
2122 x += myFontMetricsItalic.width(s); 2122 x += myFontMetricsItalic.width(s);
2123 else 2123 else
2124 x += myFontMetrics.width(s); 2124 x += myFontMetrics.width(s);
2125 } 2125 }
2126 zc = z +1; 2126 zc = z +1;
2127 2127
2128 if (showTabs) { 2128 if (showTabs) {
2129 nextAttr = textLine->getRawAttr(z); 2129 nextAttr = textLine->getRawAttr(z);
2130 if (nextAttr != attr) { 2130 if (nextAttr != attr) {
2131 attr = nextAttr; 2131 attr = nextAttr;
2132 a = &m_attribs[attr & taAttrMask]; 2132 attrptr = &m_attribs[attr & taAttrMask];
2133 2133
2134 if (attr & taSelected) paint.setPen(a->selCol); 2134 if (attr & taSelected) paint.setPen(attrptr->selCol);
2135 else paint.setPen(a->col); 2135 else paint.setPen(attrptr->col);
2136 2136
2137 if (a->bold && a->italic) 2137 if (attrptr->bold && attrptr->italic)
2138 paint.setFont(myFontBI); 2138 paint.setFont(myFontBI);
2139 else if (a->bold) 2139 else if (attrptr->bold)
2140 paint.setFont(myFontBold); 2140 paint.setFont(myFontBold);
2141 else if (a->italic) 2141 else if (attrptr->italic)
2142 paint.setFont(myFontItalic); 2142 paint.setFont(myFontItalic);
2143 else 2143 else
2144 paint.setFont(myFont); 2144 paint.setFont(myFont);
2145 } 2145 }
2146 2146
2147// paint.drawLine(x - xStart, y -2, x - xStart, y);
2148// paint.drawLine(x - xStart, y, x - xStart + 2, y);
2149 paint.drawPoint(x - xStart, y); 2147 paint.drawPoint(x - xStart, y);
2150 paint.drawPoint(x - xStart +1, y); 2148 paint.drawPoint(x - xStart +1, y);
2151 paint.drawPoint(x - xStart, y -1); 2149 paint.drawPoint(x - xStart, y -1);
2152 } 2150 }
2153 x += m_tabWidth - (x % m_tabWidth); 2151 x += m_tabWidth - (x % m_tabWidth);
2154 } else { 2152 } else {
2155 nextAttr = textLine->getRawAttr(z); 2153 nextAttr = textLine->getRawAttr(z);
2156 if (nextAttr != attr) { 2154 if (nextAttr != attr) {
2157 if (z > zc) { 2155 if (z > zc) {
2158 QConstString str((QChar *) &s[zc], z - zc /*+1*/); 2156 QConstString str((QChar *) &s[zc], z - zc /*+1*/);
2159 QString s = str.string(); 2157 QString s = str.string();
2160 paint.drawText(x - xStart, y, s); 2158 paint.drawText(x - xStart, y, s);
2161 2159
2162 if (a->bold && a->italic) 2160 if (attrptr->bold && attrptr->italic)
2163 x += myFontMetricsBI.width(s); 2161 x += myFontMetricsBI.width(s);
2164 else if (a->bold) 2162 else if (attrptr->bold)
2165 x += myFontMetricsBold.width(s); 2163 x += myFontMetricsBold.width(s);
2166 else if (a->italic) 2164 else if (attrptr->italic)
2167 x += myFontMetricsItalic.width(s); 2165 x += myFontMetricsItalic.width(s);
2168 else 2166 else
2169 x += myFontMetrics.width(s); 2167 x += myFontMetrics.width(s);
2170 zc = z; 2168 zc = z;
2171 } 2169 }
2172 attr = nextAttr; 2170 attr = nextAttr;
2173 a = &m_attribs[attr & taAttrMask]; 2171 attrptr = &m_attribs[attr & taAttrMask];
2174 2172
2175 if (attr & taSelected) paint.setPen(a->selCol); 2173 if (attr & taSelected) paint.setPen(attrptr->selCol);
2176 else paint.setPen(a->col); 2174 else paint.setPen(attrptr->col);
2177 2175
2178 if (a->bold && a->italic) 2176 if (attrptr->bold && attrptr->italic)
2179 paint.setFont(myFontBI); 2177 paint.setFont(myFontBI);
2180 else if (a->bold) 2178 else if (attrptr->bold)
2181 paint.setFont(myFontBold); 2179 paint.setFont(myFontBold);
2182 else if (a->italic) 2180 else if (attrptr->italic)
2183 paint.setFont(myFontItalic); 2181 paint.setFont(myFontItalic);
2184 else 2182 else
2185 paint.setFont(myFont); 2183 paint.setFont(myFont);
2186 } 2184 }
2187 } 2185 }
2188 z++; 2186 z++;
2189 } 2187 }
2190 if (z > zc) { 2188 if (z > zc) {
2191 QConstString str((QChar *) &s[zc], z - zc /*+1*/); 2189 QConstString str((QChar *) &s[zc], z - zc /*+1*/);
2192 paint.drawText(x - xStart, y, str.string()); 2190 paint.drawText(x - xStart, y, str.string());
2193 } 2191 }
2194} 2192}
2195 2193
2196// Applies the search context, and returns whether a match was found. If one is, 2194// Applies the search context, and returns whether a match was found. If one is,
2197// the length of the string matched is also returned. 2195// the length of the string matched is also returned.
2198bool KateDocument::doSearch(SConfig &sc, const QString &searchFor) { 2196bool KateDocument::doSearch(SConfig &sc, const QString &searchFor) {
2199 int line, col; 2197 int line, col;
2200 int searchEnd; 2198 int searchEnd;
2201 int bufLen, tlen; 2199 int bufLen, tlen;
2202 QChar *t; 2200 QChar *t;
2203 TextLine::Ptr textLine; 2201 TextLine::Ptr textLine;
2204 int pos, newPos; 2202 int pos, newPos;
2205 2203
2206 if (searchFor.isEmpty()) return false; 2204 if (searchFor.isEmpty()) return false;
2207 2205
2208 bufLen = 0; 2206 bufLen = 0;
2209 t = 0L; 2207 t = 0L;
2210 2208
2211 line = sc.cursor.y; 2209 line = sc.cursor.y;
2212 col = sc.cursor.x; 2210 col = sc.cursor.x;
2213 if (!(sc.flags & KateView::sfBackward)) { 2211 if (!(sc.flags & KateView::sfBackward)) {
2214 //forward search 2212 //forward search
2215 if (sc.flags & KateView::sfSelected) { 2213 if (sc.flags & KateView::sfSelected) {
2216 if (line < selectStart) { 2214 if (line < selectStart) {
2217 line = selectStart; 2215 line = selectStart;
2218 col = 0; 2216 col = 0;
2219 } 2217 }
2220 searchEnd = selectEnd; 2218 searchEnd = selectEnd;
2221 } else searchEnd = lastLine(); 2219 } else searchEnd = lastLine();
2222 2220
2223 while (line <= searchEnd) { 2221 while (line <= searchEnd) {
2224 textLine = getTextLine(line); 2222 textLine = getTextLine(line);
2225 tlen = textLine->length(); 2223 tlen = textLine->length();
2226 if (tlen > bufLen) { 2224 if (tlen > bufLen) {
2227 delete [] t; 2225 delete [] t;
2228 bufLen = (tlen + 255) & (~255); 2226 bufLen = (tlen + 255) & (~255);
2229 t = new QChar[bufLen]; 2227 t = new QChar[bufLen];
2230 } 2228 } else if (!t)
2229 t = new QChar[bufLen];
2230
2231 memcpy(t, textLine->getText(), tlen*sizeof(QChar)); 2231 memcpy(t, textLine->getText(), tlen*sizeof(QChar));
2232 if (sc.flags & KateView::sfSelected) { 2232 if (sc.flags & KateView::sfSelected) {
2233 pos = 0; 2233 pos = 0;
2234 do { 2234 do {
2235 pos = textLine->findSelected(pos); 2235 pos = textLine->findSelected(pos);
2236 newPos = textLine->findUnselected(pos); 2236 newPos = textLine->findUnselected(pos);
2237 memset(&t[pos], 0, (newPos - pos)*sizeof(QChar)); 2237 memset(&t[pos], 0, (newPos - pos)*sizeof(QChar));
2238 pos = newPos; 2238 pos = newPos;
2239 } while (pos < tlen); 2239 } while (pos < tlen);
2240 } 2240 }
2241 2241
2242 QString text(t, tlen); 2242 QString text(t, tlen);
2243 if (sc.flags & KateView::sfWholeWords) { 2243 if (sc.flags & KateView::sfWholeWords) {
2244 // Until the end of the line... 2244 // Until the end of the line...
2245 while (col < tlen) { 2245 while (col < tlen) {
2246 // ...find the next match. 2246 // ...find the next match.
2247 col = sc.search(text, col); 2247 col = sc.search(text, col);
2248 if (col != -1) { 2248 if (col != -1) {
2249 // Is the match delimited correctly? 2249 // Is the match delimited correctly?
2250 if (((col == 0) || (!m_highlight->isInWord(t[col]))) && 2250 if (((col == 0) || (!m_highlight->isInWord(t[col]))) &&
2251 ((col + sc.matchedLength == tlen) || (!m_highlight->isInWord(t[col + sc.matchedLength])))) { 2251 ((col + sc.matchedLength == tlen) || (!m_highlight->isInWord(t[col + sc.matchedLength])))) {
2252 goto found; 2252 goto found;
2253 } 2253 }
2254 else { 2254 else {
2255 // Start again from the next character. 2255 // Start again from the next character.
2256 col++; 2256 col++;
2257 } 2257 }
2258 } 2258 }
2259 else { 2259 else {
2260 // No match. 2260 // No match.
2261 break; 2261 break;
2262 } 2262 }
2263 } 2263 }
2264 } 2264 }
2265 else { 2265 else {
2266 // Non-whole-word search. 2266 // Non-whole-word search.
2267 col = sc.search(text, col); 2267 col = sc.search(text, col);
2268 if (col != -1) 2268 if (col != -1)
2269 goto found; 2269 goto found;
2270 } 2270 }
2271 col = 0; 2271 col = 0;
2272 line++; 2272 line++;
2273 } 2273 }
2274 } else { 2274 } else {
2275 // backward search 2275 // backward search
2276 if (sc.flags & KateView::sfSelected) { 2276 if (sc.flags & KateView::sfSelected) {
2277 if (line > selectEnd) { 2277 if (line > selectEnd) {
2278 line = selectEnd; 2278 line = selectEnd;
2279 col = -1; 2279 col = -1;
2280 } 2280 }
2281 searchEnd = selectStart; 2281 searchEnd = selectStart;
2282 } else searchEnd = 0; 2282 } else searchEnd = 0;
2283 2283
2284 while (line >= searchEnd) { 2284 while (line >= searchEnd) {
2285 textLine = getTextLine(line); 2285 textLine = getTextLine(line);
2286 tlen = textLine->length(); 2286 tlen = textLine->length();
2287 if (tlen > bufLen) { 2287 if (tlen > bufLen) {
2288 delete [] t; 2288 delete [] t;
2289 bufLen = (tlen + 255) & (~255); 2289 bufLen = (tlen + 255) & (~255);
2290 t = new QChar[bufLen]; 2290 t = new QChar[bufLen];
2291 } 2291 } else if (!t)
2292 t = new QChar[bufLen];
2292 memcpy(t, textLine->getText(), tlen*sizeof(QChar)); 2293 memcpy(t, textLine->getText(), tlen*sizeof(QChar));
2293 if (sc.flags & KateView::sfSelected) { 2294 if (sc.flags & KateView::sfSelected) {
2294 pos = 0; 2295 pos = 0;
2295 do { 2296 do {
2296 pos = textLine->findSelected(pos); 2297 pos = textLine->findSelected(pos);
2297 newPos = textLine->findUnselected(pos); 2298 newPos = textLine->findUnselected(pos);
2298 memset(&t[pos], 0, (newPos - pos)*sizeof(QChar)); 2299 memset(&t[pos], 0, (newPos - pos)*sizeof(QChar));
2299 pos = newPos; 2300 pos = newPos;
2300 } while (pos < tlen); 2301 } while (pos < tlen);
2301 } 2302 }
2302 2303
2303 if (col < 0 || col > tlen) col = tlen; 2304 if (col < 0 || col > tlen) col = tlen;
2304 2305
2305 QString text(t, tlen); 2306 QString text(t, tlen);
2306 if (sc.flags & KateView::sfWholeWords) { 2307 if (sc.flags & KateView::sfWholeWords) {
2307 // Until the beginning of the line... 2308 // Until the beginning of the line...
2308 while (col >= 0) { 2309 while (col >= 0) {
2309 // ...find the next match. 2310 // ...find the next match.
2310 col = sc.search(text, col); 2311 col = sc.search(text, col);
2311 if (col != -1) { 2312 if (col != -1) {
2312 // Is the match delimited correctly? 2313 // Is the match delimited correctly?
2313 if (((col == 0) || (!m_highlight->isInWord(t[col]))) && 2314 if (((col == 0) || (!m_highlight->isInWord(t[col]))) &&
2314 ((col + sc.matchedLength == tlen) || (!m_highlight->isInWord(t[col + sc.matchedLength])))) { 2315 ((col + sc.matchedLength == tlen) || (!m_highlight->isInWord(t[col + sc.matchedLength])))) {
2315 goto found; 2316 goto found;
2316 } 2317 }
2317 else { 2318 else {
2318 // Start again from the previous character. 2319 // Start again from the previous character.
2319 col--; 2320 col--;
2320 } 2321 }
2321 } 2322 }
2322 else { 2323 else {
2323 // No match. 2324 // No match.
2324 break; 2325 break;
2325 } 2326 }
2326 } 2327 }
2327 } 2328 }
2328 else { 2329 else {
2329 // Non-whole-word search. 2330 // Non-whole-word search.
2330 col = sc.search(text, col); 2331 col = sc.search(text, col);
2331 if (col != -1) 2332 if (col != -1)
2332 goto found; 2333 goto found;
2333 } 2334 }
2334 col = -1; 2335 col = -1;
2335 line--; 2336 line--;
2336 } 2337 }
2337 } 2338 }
2338 sc.flags |= KateView::sfWrapped; 2339 sc.flags |= KateView::sfWrapped;
2339 return false; 2340 return false;
diff --git a/noncore/settings/sysinfo/devicesinfo.cpp b/noncore/settings/sysinfo/devicesinfo.cpp
index 164d608..428cfd4 100644
--- a/noncore/settings/sysinfo/devicesinfo.cpp
+++ b/noncore/settings/sysinfo/devicesinfo.cpp
@@ -220,97 +220,97 @@ void CardsCategory::populate()
220UsbCategory::UsbCategory( DevicesView* parent ) 220UsbCategory::UsbCategory( DevicesView* parent )
221 :Category( parent, "4. Universal Serial Bus" ) 221 :Category( parent, "4. Universal Serial Bus" )
222{ 222{
223} 223}
224 224
225UsbCategory::~UsbCategory() 225UsbCategory::~UsbCategory()
226{ 226{
227} 227}
228 228
229void UsbCategory::populate() 229void UsbCategory::populate()
230{ 230{
231 odebug << "UsbCategory::populate()" << oendl; 231 odebug << "UsbCategory::populate()" << oendl;
232 QFile usbinfofile( "/proc/bus/usb/devices" ); 232 QFile usbinfofile( "/proc/bus/usb/devices" );
233 if ( !usbinfofile.exists() || !usbinfofile.open( IO_ReadOnly ) ) 233 if ( !usbinfofile.exists() || !usbinfofile.open( IO_ReadOnly ) )
234 { 234 {
235 new UsbDevice( this, "(no USB found)" ); 235 new UsbDevice( this, "(no USB found)" );
236 return; 236 return;
237 } 237 }
238 QTextStream usbinfo( &usbinfofile ); 238 QTextStream usbinfo( &usbinfofile );
239 239
240 int _bus, _level, _parent, _port, _count, _device, _channels, _power; 240 int _bus, _level, _parent, _port, _count, _device, _channels, _power;
241 float _speed; 241 float _speed;
242 QString _manufacturer, _product, _serial; 242 QString _manufacturer, _product, _serial;
243 243
244 int usbcount = 0; 244 int usbcount = 0;
245 UsbDevice* lastDev = 0; 245 UsbDevice* lastDev = 0;
246 UsbDevice* dev = 0; 246 UsbDevice* dev = 0;
247 while ( !usbinfo.atEnd() ) 247 while ( !usbinfo.atEnd() )
248 { 248 {
249 QString line = usbinfo.readLine(); 249 QString line = usbinfo.readLine();
250 odebug << "got line '" << line << "'" << oendl; 250 odebug << "got line '" << line << "'" << oendl;
251 if ( line.startsWith( "T:" ) ) 251 if ( line.startsWith( "T:" ) )
252 { 252 {
253 sscanf(line.local8Bit().data(), "T: Bus=%2d Lev=%2d Prnt=%2d Port=%d Cnt=%2d Dev#=%3d Spd=%3f MxCh=%2d", &_bus, &_level, &_parent, &_port, &_count, &_device, &_speed, &_channels); 253 sscanf(line.local8Bit().data(), "T: Bus=%2d Lev=%2d Prnt=%2d Port=%d Cnt=%2d Dev#=%3d Spd=%3f MxCh=%2d", &_bus, &_level, &_parent, &_port, &_count, &_device, &_speed, &_channels);
254 254
255 if ( !_level ) 255 if ( !_level )
256 { 256 {
257 odebug << "adding new bus" << oendl; 257 odebug << "adding new bus" << oendl;
258 dev = new UsbDevice( this, QString( "Generic USB Hub Device" ) ); 258 dev = new UsbDevice( this, QString( "Generic USB Hub Device" ) );
259 lastDev = dev; 259 lastDev = dev;
260 } 260 }
261 else 261 else
262 { 262 {
263 odebug << "adding new dev" << oendl; 263 odebug << "adding new dev" << oendl;
264 dev = new UsbDevice( lastDev, QString( "Generic USB Hub Device" ) ); 264 dev = new UsbDevice( lastDev, QString( "Generic USB Hub Device" ) );
265 lastDev = dev; 265 lastDev = dev;
266 } 266 }
267 } 267 }
268 else if ( line.startsWith( "S: Product" ) ) 268 else if ( dev && line.startsWith( "S: Product" ) )
269 { 269 {
270 int dp = line.find( '=' ); 270 int dp = line.find( '=' );
271 dev->setText( 0, dp != -1 ? line.right( line.length()-1-dp ) : "<unknown>" ); 271 dev->setText( 0, dp != -1 ? line.right( line.length()-1-dp ) : "<unknown>" );
272 } 272 }
273 else 273 else
274 { 274 {
275 continue; 275 continue;
276 } 276 }
277 } 277 }
278} 278}
279 279
280 280
281//================================================================================================= 281//=================================================================================================
282Device::Device( Category* parent, const QString& name ) 282Device::Device( Category* parent, const QString& name )
283 :OListViewItem( parent, name ) 283 :OListViewItem( parent, name )
284{ 284{
285 devinfo = static_cast<QWidget*>( listView()->parent() ); 285 devinfo = static_cast<QWidget*>( listView()->parent() );
286} 286}
287 287
288Device::Device( Device* parent, const QString& name ) 288Device::Device( Device* parent, const QString& name )
289 :OListViewItem( parent, name ) 289 :OListViewItem( parent, name )
290{ 290{
291 devinfo = static_cast<QWidget*>( listView()->parent() ); 291 devinfo = static_cast<QWidget*>( listView()->parent() );
292} 292}
293 293
294Device::~Device() 294Device::~Device()
295{ 295{
296} 296}
297 297
298 298
299QWidget* Device::detailsWidget() 299QWidget* Device::detailsWidget()
300{ 300{
301 return details; 301 return details;
302} 302}
303 303
304//================================================================================================= 304//=================================================================================================
305CpuDevice::CpuDevice( Category* parent, const QString& name ) 305CpuDevice::CpuDevice( Category* parent, const QString& name )
306 :Device( parent, name ) 306 :Device( parent, name )
307{ 307{
308 OListView* w = new OListView( devinfo ); 308 OListView* w = new OListView( devinfo );
309 details = w; 309 details = w;
310 w->addColumn( "Info" ); 310 w->addColumn( "Info" );
311 w->addColumn( "Value" ); 311 w->addColumn( "Value" );
312 w->hide(); 312 w->hide();
313} 313}
314 314
315CpuDevice::~CpuDevice() 315CpuDevice::~CpuDevice()
316{ 316{
diff --git a/noncore/todayplugins/stockticker/libstocks/http.c b/noncore/todayplugins/stockticker/libstocks/http.c
index 2f38f8a..cc78ab7 100644
--- a/noncore/todayplugins/stockticker/libstocks/http.c
+++ b/noncore/todayplugins/stockticker/libstocks/http.c
@@ -165,97 +165,97 @@ libstocks_return_code http_get(char *http_file, char *http_server, char **pdata)
165 { 165 {
166 if((data = malloc(r+1))==NULL) 166 if((data = malloc(r+1))==NULL)
167 { 167 {
168 fprintf(stderr,"Memory allocating error (%s line %d)\n" 168 fprintf(stderr,"Memory allocating error (%s line %d)\n"
169 ,__FILE__, __LINE__); 169 ,__FILE__, __LINE__);
170 exit(1); 170 exit(1);
171 } 171 }
172 172
173 memcpy(data,buf,r); 173 memcpy(data,buf,r);
174 data_lgr = r; 174 data_lgr = r;
175 data[r]=0; 175 data[r]=0;
176 } 176 }
177 else 177 else
178 { 178 {
179 if((temp = malloc(r+data_lgr+1))==NULL) 179 if((temp = malloc(r+data_lgr+1))==NULL)
180 { 180 {
181 fprintf(stderr,"Memory allocating error (%s line %d)\n" 181 fprintf(stderr,"Memory allocating error (%s line %d)\n"
182 ,__FILE__, __LINE__); 182 ,__FILE__, __LINE__);
183 exit(1); 183 exit(1);
184 } 184 }
185 memcpy(temp, data, data_lgr); 185 memcpy(temp, data, data_lgr);
186 memcpy(temp+data_lgr, buf, r); 186 memcpy(temp+data_lgr, buf, r);
187 temp[r+data_lgr]=0; 187 temp[r+data_lgr]=0;
188 data_lgr += r; 188 data_lgr += r;
189 free(data); 189 free(data);
190 data = temp; 190 data = temp;
191 } 191 }
192 } 192 }
193 } 193 }
194 194
195 /* close socket */ 195 /* close socket */
196#ifdef __UNIX__ 196#ifdef __UNIX__
197 close(s); 197 close(s);
198#elif __WINDOWS__ 198#elif __WINDOWS__
199 closesocket(s); 199 closesocket(s);
200#endif 200#endif
201 201
202#ifdef DEBUG 202#ifdef DEBUG
203 printf("%s\n", data); 203 printf("%s\n", data);
204#endif 204#endif
205 205
206 /* get headers to test status line */ 206 /* get headers to test status line */
207 /* and to split headers and content */ 207 /* and to split headers and content */
208 208
209 temp = data; 209 temp = data;
210 header_founded = 0; 210 header_founded = 0;
211 while( !header_founded ) 211 while( !header_founded )
212 { 212 {
213 if (*temp==0) return ERRRHEA; 213 if (!temp || *temp==0) return ERRRHEA;
214 214
215 if( *temp==0x0A ) 215 if( *temp==0x0A )
216 { 216 {
217 /* test if it is the header end */ 217 /* test if it is the header end */
218 temp ++; 218 temp ++;
219 if (*temp == 0x0D) temp++; 219 if (*temp == 0x0D) temp++;
220 if (*temp == 0x0A) header_founded = 1; 220 if (*temp == 0x0A) header_founded = 1;
221 } 221 }
222 else 222 else
223 temp++; 223 temp++;
224 } 224 }
225 225
226 *temp = 0; 226 *temp = 0;
227 temp++; 227 temp++;
228 228
229 sscanf(data,"HTTP/1.%*d %03d",&error_code); 229 sscanf(data,"HTTP/1.%*d %03d",&error_code);
230 230
231 if (error_code != 200) 231 if (error_code != 200)
232 { 232 {
233#ifdef DEBUG 233#ifdef DEBUG
234 printf(" HTTP error code : %d\n", error_code); 234 printf(" HTTP error code : %d\n", error_code);
235#endif 235#endif
236 free(data); 236 free(data);
237 return ERRPAHD; 237 return ERRPAHD;
238 } 238 }
239 239
240 if ((csv_ptr = malloc(strlen(temp)+1))==NULL) 240 if ((csv_ptr = malloc(strlen(temp)+1))==NULL)
241 { 241 {
242 free(data); 242 free(data);
243 fprintf(stderr,"Memory allocating error (%s line %d)\n" 243 fprintf(stderr,"Memory allocating error (%s line %d)\n"
244 ,__FILE__, __LINE__); 244 ,__FILE__, __LINE__);
245 exit(1); 245 exit(1);
246 } 246 }
247 247
248 memcpy(csv_ptr, temp, strlen(temp)+1); 248 memcpy(csv_ptr, temp, strlen(temp)+1);
249 free(data); 249 free(data);
250 250
251#ifdef DEBUG 251#ifdef DEBUG
252 printf(" CSV\n"); 252 printf(" CSV\n");
253 printf("%s,\n", csv_ptr); 253 printf("%s,\n", csv_ptr);
254#endif 254#endif
255 255
256 *pdata = csv_ptr; 256 *pdata = csv_ptr;
257 257
258 return 0; 258 return 0;
259} 259}
260 260
261/******************************************************************************/ 261/******************************************************************************/