Index: src/pdf/SkPDFMetadata.cpp |
diff --git a/src/pdf/SkPDFMetadata.cpp b/src/pdf/SkPDFMetadata.cpp |
index 2765d4d189b99b0ae0042b0ff531f12797762370..d3abd78312caecdcfff651cc6d7698b28abc6149 100644 |
--- a/src/pdf/SkPDFMetadata.cpp |
+++ b/src/pdf/SkPDFMetadata.cpp |
@@ -95,54 +95,6 @@ SkPDFObject* SkPDFMetadata::CreatePdfId(const UUID& doc, const UUID& instance) { |
return array.release(); |
} |
-// Improvement on SkStringPrintf to allow for arbitrarily long output. |
-// TODO: replace SkStringPrintf. |
-static SkString sk_string_printf(const char* format, ...) { |
-#ifdef SK_BUILD_FOR_WIN |
- va_list args; |
- va_start(args, format); |
- char buffer[1024]; |
- int length = _vsnprintf_s(buffer, sizeof(buffer), _TRUNCATE, format, args); |
- va_end(args); |
- if (length >= 0 && length < (int)sizeof(buffer)) { |
- return SkString(buffer, length); |
- } |
- va_start(args, format); |
- length = _vscprintf(format, args); |
- va_end(args); |
- |
- SkString string((size_t)length); |
- va_start(args, format); |
- SkDEBUGCODE(int check = ) _vsnprintf_s(string.writable_str(), length + 1, |
- _TRUNCATE, format, args); |
- va_end(args); |
- SkASSERT(check == length); |
- SkASSERT(string[length] == '\0'); |
- return string; |
-#else // C99/C++11 standard vsnprintf |
- // TODO: When all compilers support this, remove windows-specific code. |
- va_list args; |
- va_start(args, format); |
- char buffer[1024]; |
- int length = vsnprintf(buffer, sizeof(buffer), format, args); |
- va_end(args); |
- if (length < 0) { |
- return SkString(); |
- } |
- if (length < (int)sizeof(buffer)) { |
- return SkString(buffer, length); |
- } |
- SkString string((size_t)length); |
- va_start(args, format); |
- SkDEBUGCODE(int check = ) |
- vsnprintf(string.writable_str(), length + 1, format, args); |
- va_end(args); |
- SkASSERT(check == length); |
- SkASSERT(string[length] == '\0'); |
- return string; |
-#endif |
-} |
- |
static const SkString get(const SkTArray<SkDocument::Attribute>& info, |
const char* key) { |
for (const auto& keyValue : info) { |
@@ -303,14 +255,14 @@ SkPDFObject* SkPDFMetadata::createXMPObject(const UUID& doc, |
fCreation->toISO8601(&tmp); |
SkASSERT(0 == count_xml_escape_size(tmp)); |
// YYYY-mm-ddTHH:MM:SS[+|-]ZZ:ZZ; no need to escape |
- creationDate = sk_string_printf("<xmp:CreateDate>%s</xmp:CreateDate>\n", |
- tmp.c_str()); |
+ creationDate = SkStringPrintf("<xmp:CreateDate>%s</xmp:CreateDate>\n", |
+ tmp.c_str()); |
} |
if (fModified) { |
SkString tmp; |
fModified->toISO8601(&tmp); |
SkASSERT(0 == count_xml_escape_size(tmp)); |
- modificationDate = sk_string_printf( |
+ modificationDate = SkStringPrintf( |
"<xmp:ModifyDate>%s</xmp:ModifyDate>\n", tmp.c_str()); |
} |
SkString title = escape_xml( |
@@ -339,7 +291,7 @@ SkPDFObject* SkPDFMetadata::createXMPObject(const UUID& doc, |
SkASSERT(0 == count_xml_escape_size(documentID)); |
SkString instanceID = uuid_to_string(instance); |
SkASSERT(0 == count_xml_escape_size(instanceID)); |
- return new PDFXMLObject(sk_string_printf( |
+ return new PDFXMLObject(SkStringPrintf( |
templateString, modificationDate.c_str(), creationDate.c_str(), |
creator.c_str(), title.c_str(), |
subject.c_str(), author.c_str(), keywords1.c_str(), |