Open files always
This commit is contained in:
@@ -2543,30 +2543,31 @@ int64_t komodo_priceave(int64_t *correlated,int32_t cskip)
|
|||||||
|
|
||||||
void komodo_pricesinit()
|
void komodo_pricesinit()
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i,createflag = 0;
|
||||||
boost::filesystem::path pricefname,pricesdir = GetDataDir() / "prices";
|
boost::filesystem::path pricefname,pricesdir = GetDataDir() / "prices";
|
||||||
fprintf(stderr,"pricesinit (%s)\n",pricesdir.string().c_str());
|
fprintf(stderr,"pricesinit (%s)\n",pricesdir.string().c_str());
|
||||||
if (!boost::filesystem::exists(pricesdir))
|
if (!boost::filesystem::exists(pricesdir))
|
||||||
|
boost::filesystem::create_directories(pricesdir), createflag = 1;
|
||||||
|
for (i=0; i<KOMODO_MAXPRICES; i++)
|
||||||
{
|
{
|
||||||
boost::filesystem::create_directories(pricesdir);
|
if ( komodo_pricename(PRICES[i].symbol,i) == 0 )
|
||||||
for (i=0; i<KOMODO_MAXPRICES; i++)
|
break;
|
||||||
|
if ( i == 0 )
|
||||||
|
strcpy(PRICES[i].symbol,"rawprices");
|
||||||
|
pricefname = pricesdir / PRICES[i].symbol;
|
||||||
|
PRICES[i].fp = fopen(pricefname.string().c_str(), createflag != 0 ? "wb+" : "rb+");
|
||||||
|
if ( createflag != 0 )
|
||||||
{
|
{
|
||||||
if ( komodo_pricename(PRICES[i].symbol,i) == 0 )
|
|
||||||
break;
|
|
||||||
if ( i == 0 )
|
|
||||||
strcpy(PRICES[i].symbol,"rawprices");
|
|
||||||
pricefname = pricesdir / PRICES[i].symbol;
|
|
||||||
PRICES[i].fp = fopen(pricefname.string().c_str(), "wb+");
|
|
||||||
fseek(PRICES[i].fp,(2*PRICES_DAYWINDOW+PRICES_SMOOTHWIDTH) * sizeof(int64_t) * 3,SEEK_SET);
|
fseek(PRICES[i].fp,(2*PRICES_DAYWINDOW+PRICES_SMOOTHWIDTH) * sizeof(int64_t) * 3,SEEK_SET);
|
||||||
fputc(0,PRICES[i].fp);
|
fputc(0,PRICES[i].fp);
|
||||||
fflush(PRICES[i].fp);
|
fflush(PRICES[i].fp);
|
||||||
}
|
}
|
||||||
if ( i > 0 && PRICES[0].fp != 0 )
|
}
|
||||||
{
|
if ( i > 0 && PRICES[0].fp != 0 && createflag != 0 )
|
||||||
fseek(PRICES[0].fp,(2*PRICES_DAYWINDOW+PRICES_SMOOTHWIDTH) * sizeof(uint32_t) * i,SEEK_SET);
|
{
|
||||||
fputc(0,PRICES[0].fp);
|
fseek(PRICES[0].fp,(2*PRICES_DAYWINDOW+PRICES_SMOOTHWIDTH) * sizeof(uint32_t) * i,SEEK_SET);
|
||||||
fflush(PRICES[0].fp);
|
fputc(0,PRICES[0].fp);
|
||||||
}
|
fflush(PRICES[0].fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user