Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(901)

Side by Side Diff: core/fxcodec/codec/fx_codec.cpp

Issue 2032613003: Get rid of NULLs in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: Fix a bad merge Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdftext/fpdf_text_int.cpp ('k') | core/fxcodec/codec/fx_codec_bmp.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/fxcodec/include/fx_codec.h" 7 #include "core/fxcodec/include/fx_codec.h"
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <memory> 10 #include <memory>
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 uint8_t* m_pScanline; 121 uint8_t* m_pScanline;
122 const uint8_t* m_pSrcBuf; 122 const uint8_t* m_pSrcBuf;
123 uint32_t m_SrcSize; 123 uint32_t m_SrcSize;
124 uint32_t m_dwLineBytes; 124 uint32_t m_dwLineBytes;
125 uint32_t m_SrcOffset; 125 uint32_t m_SrcOffset;
126 FX_BOOL m_bEOD; 126 FX_BOOL m_bEOD;
127 uint8_t m_Operator; 127 uint8_t m_Operator;
128 }; 128 };
129 CCodec_RLScanlineDecoder::CCodec_RLScanlineDecoder() 129 CCodec_RLScanlineDecoder::CCodec_RLScanlineDecoder()
130 : m_pScanline(NULL), 130 : m_pScanline(nullptr),
131 m_pSrcBuf(NULL), 131 m_pSrcBuf(nullptr),
132 m_SrcSize(0), 132 m_SrcSize(0),
133 m_dwLineBytes(0), 133 m_dwLineBytes(0),
134 m_SrcOffset(0), 134 m_SrcOffset(0),
135 m_bEOD(FALSE), 135 m_bEOD(FALSE),
136 m_Operator(0) {} 136 m_Operator(0) {}
137 CCodec_RLScanlineDecoder::~CCodec_RLScanlineDecoder() { 137 CCodec_RLScanlineDecoder::~CCodec_RLScanlineDecoder() {
138 FX_Free(m_pScanline); 138 FX_Free(m_pScanline);
139 } 139 }
140 FX_BOOL CCodec_RLScanlineDecoder::CheckDestSize() { 140 FX_BOOL CCodec_RLScanlineDecoder::CheckDestSize() {
141 uint32_t i = 0; 141 uint32_t i = 0;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 m_SrcOffset = 0; 199 m_SrcOffset = 0;
200 m_bEOD = FALSE; 200 m_bEOD = FALSE;
201 m_Operator = 0; 201 m_Operator = 0;
202 return TRUE; 202 return TRUE;
203 } 203 }
204 uint8_t* CCodec_RLScanlineDecoder::v_GetNextLine() { 204 uint8_t* CCodec_RLScanlineDecoder::v_GetNextLine() {
205 if (m_SrcOffset == 0) { 205 if (m_SrcOffset == 0) {
206 GetNextOperator(); 206 GetNextOperator();
207 } else { 207 } else {
208 if (m_bEOD) { 208 if (m_bEOD) {
209 return NULL; 209 return nullptr;
210 } 210 }
211 } 211 }
212 FXSYS_memset(m_pScanline, 0, m_Pitch); 212 FXSYS_memset(m_pScanline, 0, m_Pitch);
213 uint32_t col_pos = 0; 213 uint32_t col_pos = 0;
214 FX_BOOL eol = FALSE; 214 FX_BOOL eol = FALSE;
215 while (m_SrcOffset < m_SrcSize && !eol) { 215 while (m_SrcOffset < m_SrcSize && !eol) {
216 if (m_Operator < 128) { 216 if (m_Operator < 128) {
217 uint32_t copy_len = m_Operator + 1; 217 uint32_t copy_len = m_Operator + 1;
218 if (col_pos + copy_len >= m_dwLineBytes) { 218 if (col_pos + copy_len >= m_dwLineBytes) {
219 copy_len = m_dwLineBytes - col_pos; 219 copy_len = m_dwLineBytes - col_pos;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 int bpc) { 292 int bpc) {
293 std::unique_ptr<CCodec_RLScanlineDecoder> pRLScanlineDecoder( 293 std::unique_ptr<CCodec_RLScanlineDecoder> pRLScanlineDecoder(
294 new CCodec_RLScanlineDecoder); 294 new CCodec_RLScanlineDecoder);
295 if (!pRLScanlineDecoder->Create(src_buf, src_size, width, height, nComps, 295 if (!pRLScanlineDecoder->Create(src_buf, src_size, width, height, nComps,
296 bpc)) { 296 bpc)) {
297 return nullptr; 297 return nullptr;
298 } 298 }
299 299
300 return pRLScanlineDecoder.release(); 300 return pRLScanlineDecoder.release();
301 } 301 }
OLDNEW
« no previous file with comments | « core/fpdftext/fpdf_text_int.cpp ('k') | core/fxcodec/codec/fx_codec_bmp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698