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

Side by Side Diff: printing/backend/printing_info_win.cc

Issue 1863223002: Convert //printing to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 | « printing/backend/printing_info_win.h ('k') | printing/backend/win_helper.h » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium 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 #include "printing/backend/printing_info_win.h" 5 #include "printing/backend/printing_info_win.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 10
11 namespace printing { 11 namespace printing {
12 12
13 namespace internal { 13 namespace internal {
14 14
15 uint8_t* GetDriverInfo(HANDLE printer, int level) { 15 uint8_t* GetDriverInfo(HANDLE printer, int level) {
16 DWORD size = 0; 16 DWORD size = 0;
17 ::GetPrinterDriver(printer, NULL, level, NULL, 0, &size); 17 ::GetPrinterDriver(printer, NULL, level, NULL, 0, &size);
18 if (size == 0) { 18 if (size == 0) {
19 return NULL; 19 return NULL;
20 } 20 }
21 scoped_ptr<uint8_t[]> buffer(new uint8_t[size]); 21 std::unique_ptr<uint8_t[]> buffer(new uint8_t[size]);
22 memset(buffer.get(), 0, size); 22 memset(buffer.get(), 0, size);
23 if (!::GetPrinterDriver(printer, NULL, level, buffer.get(), size, &size)) { 23 if (!::GetPrinterDriver(printer, NULL, level, buffer.get(), size, &size)) {
24 return NULL; 24 return NULL;
25 } 25 }
26 return buffer.release(); 26 return buffer.release();
27 } 27 }
28 28
29 uint8_t* GetPrinterInfo(HANDLE printer, int level) { 29 uint8_t* GetPrinterInfo(HANDLE printer, int level) {
30 DWORD size = 0; 30 DWORD size = 0;
31 ::GetPrinter(printer, level, NULL, 0, &size); 31 ::GetPrinter(printer, level, NULL, 0, &size);
32 if (size == 0) { 32 if (size == 0) {
33 LOG(WARNING) << "Failed to get size of PRINTER_INFO_" << level << 33 LOG(WARNING) << "Failed to get size of PRINTER_INFO_" << level <<
34 ", error = " << GetLastError(); 34 ", error = " << GetLastError();
35 return NULL; 35 return NULL;
36 } 36 }
37 scoped_ptr<uint8_t[]> buffer(new uint8_t[size]); 37 std::unique_ptr<uint8_t[]> buffer(new uint8_t[size]);
38 memset(buffer.get(), 0, size); 38 memset(buffer.get(), 0, size);
39 if (!::GetPrinter(printer, level, buffer.get(), size, &size)) { 39 if (!::GetPrinter(printer, level, buffer.get(), size, &size)) {
40 LOG(WARNING) << "Failed to get PRINTER_INFO_" << level << 40 LOG(WARNING) << "Failed to get PRINTER_INFO_" << level <<
41 ", error = " << GetLastError(); 41 ", error = " << GetLastError();
42 return NULL; 42 return NULL;
43 } 43 }
44 return buffer.release(); 44 return buffer.release();
45 } 45 }
46 46
47 } // namespace internal 47 } // namespace internal
48 48
49 } // namespace printing 49 } // namespace printing
OLDNEW
« no previous file with comments | « printing/backend/printing_info_win.h ('k') | printing/backend/win_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698