summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-18 18:59:05 (UTC)
committer sandman <sandman>2002-12-18 18:59:05 (UTC)
commit7f98b97ff4b112ddc7025b34649a4ed331b37548 (patch) (side-by-side diff)
tree8deb6016e20ad84b99b5bf2a65cbac332e4b9e1c
parent25dfde78e47780c3357f8e25d8c873131fbf446d (diff)
downloadopie-7f98b97ff4b112ddc7025b34649a4ed331b37548.zip
opie-7f98b97ff4b112ddc7025b34649a4ed331b37548.tar.gz
opie-7f98b97ff4b112ddc7025b34649a4ed331b37548.tar.bz2
Parameter passing to the thread reworked a bit
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
index 5ddf03c..a740b58 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
@@ -31,40 +31,41 @@
#include <qpe/qcopenvelope_qws.h>
#include <qpe/network.h>
#include <opie/oticker.h>
extern "C" {
#include "libstocks/stocks.h"
}
#include <pthread.h>
#include "stocktickerpluginwidget.h"
QString output;
OTicker *stocktickerTicker;
-void getStocks( const char *blah) {
+void getStocks(char *blah) {
// stocktickerTicker->setText( "Downloading stock data.");
stock *stocks_quotes=NULL;
stock *stocks_tmp;
- char *stock_liste = blah;
+ QCString stock_liste = blah;
+ ::free ( blah );
// char *stock_liste = (char *)blah->latin1();
- qDebug("%s", stock_liste );
+ qDebug("%s", stock_liste.data() );
QString tempString;
output = "";
libstocks_return_code error;
Config cfg( "stockticker");
cfg.setGroup( "Fields" );
bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck;
bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck;
bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck;
dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false;
dotimeCheck=cfg.readBoolEntry("timeCheck",1);
dodateCheck=cfg.readBoolEntry("dateCheck",1);
dosymbolCheck=cfg.readBoolEntry("symbolCheck",1);
@@ -87,33 +88,33 @@ void getStocks( const char *blah) {
proxy = getenv("http_proxy");
if(proxy) {
/* printf("proxy set\n"); */
error = set_proxy(proxy);
if (error) {
printf("Proxy error (%d)\n", error);
QString tempString;
tempString.sprintf("Proxy error (%d)\n", error);
output = tempString;
return;
// exit(1);
}
}
}
// char *stock_liste = (char *)blah;
/* Get the stocks and process errors */
- error = get_stocks( stock_liste, &stocks_quotes);
+ error = get_stocks( stock_liste.data(), &stocks_quotes);
if (error) {
printf("Error in getting stocks (%d)\n", error);
tempString.sprintf("Error in getting stocks (%d)\n", error);
output =tempString;
return;
// exit(1);
}
stocks_tmp = stocks_quotes;
/* Displays the stocks */
while(stocks_tmp!=0){
if (stocks_tmp->Time) {
// printf("%s ", stocks_tmp->Time);
@@ -239,34 +240,34 @@ void StockTickerPluginWidget::init() {
wasError = true;
}
void StockTickerPluginWidget::doStocks() {
Config cfg( "stockticker");
cfg.setGroup( "Symbols" );
symbollist="";
symbollist = cfg.readEntry("Symbols", "");
symbollist.replace(QRegExp(" "),"+");//seperated by +
cfg.setGroup("Timer");
stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50));
stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10));
if (!symbollist.isEmpty()) {
pthread_t thread1;
- char *blah = symbollist.latin1();
- pthread_create(&thread1,NULL, (void * (*)(void *))getStocks, blah);
+ char *blah = ::strdup(symbollist.latin1());
+ pthread_create(&thread1,NULL, (void * (*)(void *))getStocks, (void *) blah);
}
}
void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) {
killTimer(e->timerId());
checkConnection();
}
void StockTickerPluginWidget::checkConnection() {
// qDebug("checking connection");
// Sock = new QSocket( this );
// if( wasError)
// stocktickerTicker->setText("Checking connection");
// if(Sock->state() == QSocket::Idle) {