{
// Init filedata struct and open file as memory mapped (in file)
TFile fileIn(m_filename);
- pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
- pchar = pshmIn->begin() + m_nBomSize;
- nchars = pshmIn->end() - pchar;
+ try
+ {
+ pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
+ pchar = pshmIn->begin() + m_nBomSize;
+ nchars = pshmIn->end() - pchar;
+ }
+ catch (...)\r
+ {\r
+ if (!fileIn.isDevice() && fileIn.getSize() > 0)\r
+ return NULL;\r
+ pchar = "";\r
+ nchars = 0;\r
+ }
}
else
{
{
// Init filedata struct and open file as memory mapped (in file)
TFile fileIn(m_filename);
- pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
+ try
+ {
+ pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
- pchar = pshmIn->begin() + m_nBomSize;
- nchars = pshmIn->end() - pchar;
+ pchar = pshmIn->begin() + m_nBomSize;
+ nchars = pshmIn->end() - pchar;
+ }
+ catch (...)\r
+ {\r
+ if (!fileIn.isDevice() && fileIn.getSize() > 0)\r
+ return NULL;\r
+ pchar = "";\r
+ nchars = 0;\r
+ }
}
else
{
{
// Init filedata struct and open file as memory mapped (in file)
TFile fileIn(m_filename);
- pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
+ try
+ {
+ pshmIn.reset(new SharedMemory(fileIn, SharedMemory::AM_READ));
- pchar = pshmIn->begin()+m_nBomSize; // pass the BOM
- nchars = pshmIn->end()-pchar;
+ pchar = pshmIn->begin()+m_nBomSize; // pass the BOM
+ nchars = pshmIn->end()-pchar;
+ }
+ catch (...)\r
+ {\r
+ if (!fileIn.isDevice() && fileIn.getSize() > 0)\r
+ return NULL;\r
+ pchar = "";\r
+ nchars = 0;\r
+ }
}
else
{