diff --git a/frmts/jpipkak/jpipkakdataset.cpp b/frmts/jpipkak/jpipkakdataset.cpp index a0253cf..7c41da2 100644 --- a/frmts/jpipkak/jpipkakdataset.cpp +++ b/frmts/jpipkak/jpipkakdataset.cpp @@ -30,7 +30,7 @@ **/ #include "jpipkakdataset.h" - +#include /* ** The following are for testing premature stream termination support. @@ -419,7 +419,13 @@ JPIPKAKDataset::JPIPKAKDataset() /*****************************************/ JPIPKAKDataset::~JPIPKAKDataset() { - CPLHTTPCleanup(); + //CPLHTTPCleanup(); + CPLDebug( "JPIPKAK", "JPIPKAKDataset::~JPIPKAKDataset() : curl_easy_cleanup(%s)", pszTid); + if (!pszTid) { + curl_easy_cleanup(pszTid); + CPLFree(pszTid); + pszTid = NULL; + } Deinitialize(); @@ -481,6 +487,7 @@ int JPIPKAKDataset::Initialize(const char* pszDatasetName, int bReinitializing ) CPLString osPersistent; osPersistent.Printf( "PERSISTENT=JPIPKAK:%p", this ); + pszTid = CPLStrdup(osPersistent.c_str()); char *apszOptions[] = { (char *) osHeaders.c_str(), @@ -502,7 +509,7 @@ int JPIPKAKDataset::Initialize(const char* pszDatasetName, int bReinitializing ) CPLString osRequest; osRequest.Printf("%s?%s%i", osURL.c_str(), "cnew=http&type=jpp-stream&stream=0&tid=0&len=", 2000); - + CPLHTTPResult *psResult = CPLHTTPFetch(osRequest, apszOptions); if ( psResult == NULL)