summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-07-21 13:13:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-07-22 10:18:37 +0100
commite20a55ea411c0028ed88f01e580aa6d1f2136a81 (patch)
tree3dafe443bc18fe5c0cbeab06eeb37f6e392a44e1 /vcl
parent21fc8b9ebc0bc48b9a8ada10772abf009115b2af (diff)
check return of osl_setFilePos
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/generic/gdi/salprnpsp.cxx3
-rw-r--r--vcl/unx/generic/printergfx/printerjob.cxx5
-rw-r--r--vcl/unx/generic/printergfx/text_gfx.cxx10
3 files changed, 11 insertions, 7 deletions
diff --git a/vcl/unx/generic/gdi/salprnpsp.cxx b/vcl/unx/generic/gdi/salprnpsp.cxx
index dbee65c589dc..3a3b406e53e4 100644
--- a/vcl/unx/generic/gdi/salprnpsp.cxx
+++ b/vcl/unx/generic/gdi/salprnpsp.cxx
@@ -1328,9 +1328,8 @@ sal_Bool PspSalPrinter::StartJob( const String* i_pFileName, const String& i_rJo
{
oslFileHandle pFile = NULL;
osl_openFile( aPDFFiles[i].maTmpURL.pData, &pFile, osl_File_OpenFlag_Read );
- if( pFile )
+ if (pFile && (osl_setFilePos(pFile, osl_Pos_Absolut, 0) == osl_File_E_None))
{
- osl_setFilePos( pFile, osl_Pos_Absolut, 0 );
std::vector< char > buffer( 0x10000, 0 );
// update job data with current page size
Size aPageSize( aPDFFiles[i].maParameters.maPageSize );
diff --git a/vcl/unx/generic/printergfx/printerjob.cxx b/vcl/unx/generic/printergfx/printerjob.cxx
index 9fb50947bcf4..b0db3def22c5 100644
--- a/vcl/unx/generic/printergfx/printerjob.cxx
+++ b/vcl/unx/generic/printergfx/printerjob.cxx
@@ -77,13 +77,14 @@ AppendPS (FILE* pDst, osl::File* pSrc, sal_uChar* pBuffer,
if ((pDst == NULL) || (pSrc == NULL))
return sal_False;
+ if (pSrc->setPos(osl_Pos_Absolut, 0) != osl::FileBase::E_None)
+ return sal_False;
+
if (nBlockSize == 0)
nBlockSize = nBLOCKSIZE;
if (pBuffer == NULL)
pBuffer = (sal_uChar*)alloca (nBlockSize);
- pSrc->setPos (osl_Pos_Absolut, 0);
-
sal_uInt64 nIn = 0;
sal_uInt64 nOut = 0;
do
diff --git a/vcl/unx/generic/printergfx/text_gfx.cxx b/vcl/unx/generic/printergfx/text_gfx.cxx
index 263e0b4c7995..3cad66ee948c 100644
--- a/vcl/unx/generic/printergfx/text_gfx.cxx
+++ b/vcl/unx/generic/printergfx/text_gfx.cxx
@@ -819,10 +819,14 @@ PrinterGfx::writeResources( osl::File* pFile, std::list< rtl::OString >& rSuppli
convertPfbToPfa (aFontFile, *pFile);
aFontFile.close ();
- pFile->setPos(osl_Pos_Current, -1);
char lastchar = '\n';
- sal_uInt64 uBytes(1);
- pFile->read((void *)(&lastchar), uBytes, uBytes);
+
+ if (pFile->setPos(osl_Pos_Current, -1) == osl::FileBase::E_None)
+ {
+ sal_uInt64 uBytes(1);
+ pFile->read((void *)(&lastchar), uBytes, uBytes);
+ }
+
if (lastchar != '\n')
WritePS (pFile, "\n");
}