| Index: experimental/PdfViewer/pdf_viewer_main.cpp
|
| diff --git a/experimental/PdfViewer/pdf_viewer_main.cpp b/experimental/PdfViewer/pdf_viewer_main.cpp
|
| index 0adc7e3cf5889ba4397efd906c5c6fc09c8809ac..231aaa8ed9fd805dc0d261e8921800d1f1313837 100644
|
| --- a/experimental/PdfViewer/pdf_viewer_main.cpp
|
| +++ b/experimental/PdfViewer/pdf_viewer_main.cpp
|
| @@ -86,56 +86,6 @@ static bool add_page_and_replace_filename_extension(SkString* path, int page,
|
| return false;
|
| }
|
|
|
| -static void make_filepath(SkString* path, const SkString& dir, const SkString& name) {
|
| - size_t len = dir.size();
|
| - path->set(dir);
|
| - if (0 < len && '/' != dir[len - 1]) {
|
| - path->append("/");
|
| - }
|
| - path->append(name);
|
| -}
|
| -
|
| -static bool is_path_seperator(const char chr) {
|
| -#if defined(SK_BUILD_FOR_WIN)
|
| - return chr == '\\' || chr == '/';
|
| -#else
|
| - return chr == '/';
|
| -#endif
|
| -}
|
| -
|
| -static void get_basename(SkString* basename, const SkString& path) {
|
| - if (path.size() == 0) {
|
| - basename->reset();
|
| - return;
|
| - }
|
| -
|
| - size_t end = path.size() - 1;
|
| -
|
| - // Paths pointing to directories often have a trailing slash,
|
| - // we remove it so the name is not empty
|
| - if (is_path_seperator(path[end])) {
|
| - if (end == 0) {
|
| - basename->reset();
|
| - return;
|
| - }
|
| -
|
| - end -= 1;
|
| - }
|
| -
|
| - size_t i = end;
|
| - do {
|
| - --i;
|
| - if (is_path_seperator(path[i])) {
|
| - const char* basenameStart = path.c_str() + i + 1;
|
| - size_t basenameLength = end - i;
|
| - basename->set(basenameStart, basenameLength);
|
| - return;
|
| - }
|
| - } while (i > 0);
|
| -
|
| - basename->set(path.c_str(), end + 1);
|
| -}
|
| -
|
| /** Builds the output filename. path = dir/name, and it replaces expected
|
| * .skp extension with .pdf extention.
|
| * @param path Output filename.
|
| @@ -146,7 +96,7 @@ static void get_basename(SkString* basename, const SkString& path) {
|
| static bool make_output_filepath(SkString* path, const SkString& dir,
|
| const SkString& name,
|
| int page) {
|
| - make_filepath(path, dir, name);
|
| + *path = SkOSPath::SkPathJoin(dir.c_str(), name.c_str());
|
| return add_page_and_replace_filename_extension(path, page,
|
| PDF_FILE_EXTENSION,
|
| PNG_FILE_EXTENSION);
|
| @@ -264,8 +214,7 @@ static bool process_pdf(const SkString& inputPath, const SkString& outputDir,
|
| SkPdfRenderer& renderer) {
|
| SkDebugf("Loading PDF: %s\n", inputPath.c_str());
|
|
|
| - SkString inputFilename;
|
| - get_basename(&inputFilename, inputPath);
|
| + SkString inputFilename = SkOSPath::SkBasename(inputPath.c_str());
|
|
|
| bool success = true;
|
|
|
| @@ -357,10 +306,7 @@ static int process_input(const char* input, const SkString& outputDir,
|
| SkOSFile::Iter iter(input, PDF_FILE_EXTENSION);
|
| SkString inputFilename;
|
| while (iter.next(&inputFilename)) {
|
| - SkString inputPath;
|
| - SkString _input;
|
| - _input.append(input);
|
| - make_filepath(&inputPath, _input, inputFilename);
|
| + SkString inputPath = SkOSPath::SkPathJoin(input, inputFilename.c_str());
|
| if (!process_pdf(inputPath, outputDir, renderer)) {
|
| ++failures;
|
| }
|
|
|