diff options
Diffstat (limited to 'indra/llimage')
-rw-r--r-- | indra/llimage/llimage.cpp | 18 | ||||
-rw-r--r-- | indra/llimage/llimagej2c.cpp | 10 |
2 files changed, 15 insertions, 13 deletions
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index bfa129ea1d..88edc9943c 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -1513,7 +1513,9 @@ BOOL LLImageFormatted::load(const std::string &filename) resetLastError(); S32 file_size = 0; - apr_file_t* apr_file = ll_apr_file_open(filename, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); + apr_file_t* apr_file = infile.getFileHandle(); if (!apr_file) { setLastError("Unable to open file for reading", filename); @@ -1522,7 +1524,6 @@ BOOL LLImageFormatted::load(const std::string &filename) if (file_size == 0) { setLastError("File is empty",filename); - apr_file_close(apr_file); return FALSE; } @@ -1540,8 +1541,7 @@ BOOL LLImageFormatted::load(const std::string &filename) { res = updateData(); } - apr_file_close(apr_file); - + return res; } @@ -1549,16 +1549,16 @@ BOOL LLImageFormatted::save(const std::string &filename) { resetLastError(); - apr_file_t* apr_file = ll_apr_file_open(filename, LL_APR_WB); - if (!apr_file) + LLAPRFile outfile ; + outfile.open(filename, LL_APR_WB); + if (!outfile.getFileHandle()) { setLastError("Unable to open file for writing", filename); return FALSE; } - ll_apr_file_write(apr_file, getData(), getDataSize()); - apr_file_close(apr_file); - + outfile.write(getData(), getDataSize()); + outfile.close() ; return TRUE; } diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp index 52eb009cb7..1b93c21982 100644 --- a/indra/llimage/llimagej2c.cpp +++ b/indra/llimage/llimagej2c.cpp @@ -419,7 +419,9 @@ BOOL LLImageJ2C::loadAndValidate(const std::string &filename) resetLastError(); S32 file_size = 0; - apr_file_t* apr_file = ll_apr_file_open(filename, LL_APR_RB, &file_size); + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); + apr_file_t* apr_file = infile.getFileHandle() ; if (!apr_file) { setLastError("Unable to open file for reading", filename); @@ -428,7 +430,6 @@ BOOL LLImageJ2C::loadAndValidate(const std::string &filename) else if (file_size == 0) { setLastError("File is empty",filename); - apr_file_close(apr_file); res = FALSE; } else @@ -436,7 +437,8 @@ BOOL LLImageJ2C::loadAndValidate(const std::string &filename) U8 *data = new U8[file_size]; apr_size_t bytes_read = file_size; apr_status_t s = apr_file_read(apr_file, data, &bytes_read); // modifies bytes_read - apr_file_close(apr_file); + infile.close() ; + if (s != APR_SUCCESS || (S32)bytes_read != file_size) { delete[] data; @@ -448,7 +450,7 @@ BOOL LLImageJ2C::loadAndValidate(const std::string &filename) res = validate(data, file_size); } } - + if (!mLastError.empty()) { LLImage::setLastError(mLastError); |