summaryrefslogtreecommitdiff
path: root/noncore/todayplugins/stockticker/libstocks/stocks.c
Side-by-side diff
Diffstat (limited to 'noncore/todayplugins/stockticker/libstocks/stocks.c') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/todayplugins/stockticker/libstocks/stocks.c189
1 files changed, 95 insertions, 94 deletions
diff --git a/noncore/todayplugins/stockticker/libstocks/stocks.c b/noncore/todayplugins/stockticker/libstocks/stocks.c
index eb04ba9..3a26a47 100644
--- a/noncore/todayplugins/stockticker/libstocks/stocks.c
+++ b/noncore/todayplugins/stockticker/libstocks/stocks.c
@@ -107,3 +107,3 @@ yahoo_source find_yahoo_source(char *symbol)
}
-
+
/* We suppose now it is a European stock */
@@ -118,4 +118,4 @@ yahoo_source find_yahoo_source(char *symbol)
/*****************************************************************************/
-libstocks_return_code download_stocks(char *stocks,
- stock **stock_datas,
+libstocks_return_code download_stocks(char *stocks,
+ stock **stock_datas,
yahoo_source source)
@@ -140,3 +140,3 @@ libstocks_return_code download_stocks(char *stocks,
break;
-
+
case YAHOO_EUROPE:
@@ -147,3 +147,3 @@ libstocks_return_code download_stocks(char *stocks,
break;
-
+
}
@@ -166,5 +166,5 @@ libstocks_return_code download_stocks(char *stocks,
strcat(url, url_end);
-
+
error=http_get(url, stocks_server, &data);
-
+
free(url);
@@ -172,3 +172,3 @@ libstocks_return_code download_stocks(char *stocks,
if (error) return error;
-
+
*stock_datas = parse_csv_file(data);
@@ -224,3 +224,3 @@ libstocks_return_code get_stocks(const char *stocks, stock **stock_datas)
,__FILE__, __LINE__);
- exit(1);
+ exit(1);
}
@@ -237,73 +237,71 @@ libstocks_return_code get_stocks(const char *stocks, stock **stock_datas)
switch (source)
- {
- case YAHOO_US:
-
- if (us_quotes)
- {
- lgr_us_quotes = strlen(us_quotes);
- lgr_symbol = strlen(symbol);
-
- us_quotes_temp = malloc(lgr_us_quotes + lgr_symbol +2);
- if(us_quotes_temp==NULL)
- {
- fprintf(stderr,"Memory allocating error (%s line %d)\n"
- ,__FILE__, __LINE__);
- exit(1);
- }
- strcpy(us_quotes_temp, us_quotes);
- strcat(us_quotes_temp,"+");
- strcat(us_quotes_temp,symbol);
-
- free(us_quotes);
- us_quotes = us_quotes_temp;
- }
- else
- {
- us_quotes = malloc(strlen(symbol)+1);
-
- if(us_quotes==NULL)
- {
- fprintf(stderr,"Memory allocating error (%s line %d)\n"
- ,__FILE__, __LINE__);
- exit(1);
- }
- strcpy(us_quotes, symbol);
- }
-
- break;
-
- case YAHOO_EUROPE:
-
- if (eu_quotes)
- {
- lgr_eu_quotes = strlen(eu_quotes);
- lgr_symbol = strlen(symbol);
-
- eu_quotes_temp = malloc(lgr_eu_quotes + lgr_symbol +2);
- if(eu_quotes_temp==NULL)
- {
- fprintf(stderr,"Memory allocating error (%s line %d)\n"
- ,__FILE__, __LINE__);
- exit(1);
- }
- strcpy(eu_quotes_temp, eu_quotes);
- strcat(eu_quotes_temp, "+");
- strcat(eu_quotes_temp, symbol);
-
- free(eu_quotes);
- eu_quotes = eu_quotes_temp;
- }
- else
- {
- eu_quotes = malloc(strlen(symbol)+1);
- if(eu_quotes==NULL)
- {
- fprintf(stderr,"Memory allocating error (%s line %d)\n"
- ,__FILE__, __LINE__);
- exit(1);
- }
- strcpy(eu_quotes, symbol);
- }
- break;
- }
+ {
+ case YAHOO_US:
+ if (us_quotes)
+ {
+ lgr_us_quotes = strlen(us_quotes);
+ lgr_symbol = strlen(symbol);
+
+ us_quotes_temp = malloc(lgr_us_quotes + lgr_symbol +2);
+ if(us_quotes_temp==NULL)
+ {
+ fprintf(stderr,"Memory allocating error (%s line %d)\n",
+ __FILE__, __LINE__);
+ exit(1);
+ }
+ strcpy(us_quotes_temp, us_quotes);
+ strcat(us_quotes_temp,"+");
+ strcat(us_quotes_temp,symbol);
+
+ free(us_quotes);
+ us_quotes = us_quotes_temp;
+ }
+ else
+ {
+ us_quotes = malloc(strlen(symbol)+1);
+
+ if(us_quotes==NULL)
+ {
+ fprintf(stderr,"Memory allocating error (%s line %d)\n",
+ __FILE__, __LINE__);
+ exit(1);
+ }
+ strcpy(us_quotes, symbol);
+ }
+
+ break;
+
+ case YAHOO_EUROPE:
+ if (eu_quotes)
+ {
+ lgr_eu_quotes = strlen(eu_quotes);
+ lgr_symbol = strlen(symbol);
+
+ eu_quotes_temp = malloc(lgr_eu_quotes + lgr_symbol +2);
+ if(eu_quotes_temp==NULL)
+ {
+ fprintf(stderr,"Memory allocating error (%s line %d)\n",
+ __FILE__, __LINE__);
+ exit(1);
+ }
+ strcpy(eu_quotes_temp, eu_quotes);
+ strcat(eu_quotes_temp, "+");
+ strcat(eu_quotes_temp, symbol);
+
+ free(eu_quotes);
+ eu_quotes = eu_quotes_temp;
+ }
+ else
+ {
+ eu_quotes = malloc(strlen(symbol)+1);
+ if(eu_quotes==NULL)
+ {
+ fprintf(stderr,"Memory allocating error (%s line %d)\n",
+ __FILE__, __LINE__);
+ exit(1);
+ }
+ strcpy(eu_quotes, symbol);
+ }
+ break;
+ }
}
@@ -316,5 +314,6 @@ libstocks_return_code get_stocks(const char *stocks, stock **stock_datas)
error = download_stocks(us_quotes, &stocks_tmp, YAHOO_US);
+ free(us_quotes);
if (error) return error;
}
-
+
if (eu_quotes)
@@ -323,2 +322,3 @@ libstocks_return_code get_stocks(const char *stocks, stock **stock_datas)
error = download_stocks(eu_quotes, &stocks_getted, YAHOO_EUROPE);
+ free(eu_quotes);
if (error) return error;
@@ -327,20 +327,21 @@ libstocks_return_code get_stocks(const char *stocks, stock **stock_datas)
if (stocks_tmp)
- {
- stocks_tmp2 = stocks_tmp;
+ {
+ stocks_tmp2 = stocks_tmp;
- while(stocks_tmp2 != NULL)
- {
- last_stock = stocks_tmp2;
- stocks_tmp2 = next_stock(stocks_tmp2);
- }
+ while(stocks_tmp2 != NULL)
+ {
+ last_stock = stocks_tmp2;
+ stocks_tmp2 = next_stock(stocks_tmp2);
+ }
- last_stock->NextStock = stocks_getted;
- stocks_getted->PreviousStock = last_stock;
+ last_stock->NextStock = stocks_getted;
+ stocks_getted->PreviousStock = last_stock;
- }
- else (stocks_tmp = stocks_getted);
+ }
+ else
+ (stocks_tmp = stocks_getted);
}
- *stock_datas = stocks_tmp;
-
+ *stock_datas = stocks_tmp;
+
return(0);