- rename String::sprintf and DeprecatedString::sprintf to ...::format to avoid needlessly tweaking a search
for insecure functions. Neither of these has risk of buffer overruns since they calculate the buffer size
for you and use vsnprintf.
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* css/cssparser.cpp:
(WebCore::CSSParser::parseColorFromValue):
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSColor):
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::handleError):
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/svg/SVGPathSegArc.h:
(WebCore::SVGPathSegArcAbs::toString):
(WebCore::SVGPathSegArcRel::toString):
* ksvg2/svg/SVGPathSegCurvetoCubic.h:
(WebCore::SVGPathSegCurvetoCubicAbs::toString):
(WebCore::SVGPathSegCurvetoCubicRel::toString):
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
* ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
(WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
(WebCore::SVGPathSegCurvetoQuadraticRel::toString):
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
* ksvg2/svg/SVGPathSegLineto.h:
(WebCore::SVGPathSegLinetoAbs::toString):
(WebCore::SVGPathSegLinetoRel::toString):
* ksvg2/svg/SVGPathSegLinetoHorizontal.h:
(WebCore::SVGPathSegLinetoHorizontalAbs::toString):
(WebCore::SVGPathSegLinetoHorizontalRel::toString):
* ksvg2/svg/SVGPathSegLinetoVertical.h:
(WebCore::SVGPathSegLinetoVerticalAbs::toString):
(WebCore::SVGPathSegLinetoVerticalRel::toString):
* ksvg2/svg/SVGPathSegMoveto.h:
(WebCore::SVGPathSegMovetoAbs::toString):
(WebCore::SVGPathSegMovetoRel::toString):
* ksvg2/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::notifyAttributeChange):
* ksvg2/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::closeRenderer):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::setSynchronous):
* platform/Color.cpp:
(WebCore::Color::name):
* platform/DeprecatedString.cpp:
(WebCore::DeprecatedString::setNum):
(WebCore::DeprecatedString::format):
* platform/DeprecatedString.h:
* platform/PlatformString.h:
* platform/String.cpp:
(WebCore::String::format):
(WebCore::String::number):
* platform/mac/KeyEventMac.mm:
(WebCore::keyIdentifierForKeyEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::keyIdentifierForWindowsKeyCode):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::calcMinMaxWidth):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-11-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver.
+
+ - rename String::sprintf and DeprecatedString::sprintf to ...::format to avoid needlessly tweaking a search
+ for insecure functions. Neither of these has risk of buffer overruns since they calculate the buffer size
+ for you and use vsnprintf.
+
+ * bindings/js/kjs_window.cpp:
+ (KJS::Window::isSafeScript):
+ * css/cssparser.cpp:
+ (WebCore::CSSParser::parseColorFromValue):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::addCSSColor):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::handleError):
+ * ksvg2/css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGPaint):
+ (WebCore::CSSParser::parseSVGColor):
+ * ksvg2/svg/SVGPathSegArc.h:
+ (WebCore::SVGPathSegArcAbs::toString):
+ (WebCore::SVGPathSegArcRel::toString):
+ * ksvg2/svg/SVGPathSegCurvetoCubic.h:
+ (WebCore::SVGPathSegCurvetoCubicAbs::toString):
+ (WebCore::SVGPathSegCurvetoCubicRel::toString):
+ * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
+ (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
+ (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
+ * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
+ (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
+ (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
+ * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
+ (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
+ (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
+ * ksvg2/svg/SVGPathSegLineto.h:
+ (WebCore::SVGPathSegLinetoAbs::toString):
+ (WebCore::SVGPathSegLinetoRel::toString):
+ * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
+ (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
+ (WebCore::SVGPathSegLinetoHorizontalRel::toString):
+ * ksvg2/svg/SVGPathSegLinetoVertical.h:
+ (WebCore::SVGPathSegLinetoVerticalAbs::toString):
+ (WebCore::SVGPathSegLinetoVerticalRel::toString):
+ * ksvg2/svg/SVGPathSegMoveto.h:
+ (WebCore::SVGPathSegMovetoAbs::toString):
+ (WebCore::SVGPathSegMovetoRel::toString):
+ * ksvg2/svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::notifyAttributeChange):
+ * ksvg2/svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::closeRenderer):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
+ * loader/icon/SQLDatabase.cpp:
+ (WebCore::SQLDatabase::setSynchronous):
+ * platform/Color.cpp:
+ (WebCore::Color::name):
+ * platform/DeprecatedString.cpp:
+ (WebCore::DeprecatedString::setNum):
+ (WebCore::DeprecatedString::format):
+ * platform/DeprecatedString.h:
+ * platform/PlatformString.h:
+ * platform/String.cpp:
+ (WebCore::String::format):
+ (WebCore::String::number):
+ * platform/mac/KeyEventMac.mm:
+ (WebCore::keyIdentifierForKeyEvent):
+ * platform/win/KeyEventWin.cpp:
+ (WebCore::keyIdentifierForWindowsKeyCode):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::calcMinMaxWidth):
+
2006-11-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
printf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
targetDocument->URL().latin1(), originDocument->URL().latin1());
}
- String message = String::sprintf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
+ String message = String::format("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
targetDocument->URL().latin1(), originDocument->URL().latin1());
targetFrame->addMessageToConsole(message, 1, String()); //fixme: provide a real line number and sourceurl
printf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
thisDocument->URL().latin1(), actDocument->URL().latin1());
}
- String message = String::sprintf("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
+ String message = String::format("Unsafe JavaScript attempt to access frame with URL %s from frame with URL %s. Domains must match.\n",
thisDocument->URL().latin1(), actDocument->URL().latin1());
m_frame->addMessageToConsole(message, 1, String());
if (!strict && value->unit == CSSPrimitiveValue::CSS_NUMBER &&
value->fValue >= 0. && value->fValue < 1000000.) {
DeprecatedString str;
- str.sprintf("%06d", (int)(value->fValue+.5));
+ str.format("%06d", (int)(value->fValue+.5));
if (!CSSParser::parseColor(str, c))
return 0;
} else if (value->unit == CSSPrimitiveValue::CSS_RGBCOLOR ||
colors[2] >>= 4*maxDigit;
// assert(colors[0] < 0x100 && colors[1] < 0x100 && colors[2] < 0x100);
- color = String::sprintf("#%02x%02x%02x", colors[0], colors[1], colors[2]);
+ color = String::format("#%02x%02x%02x", colors[0], colors[1], colors[2]);
if (attr->decl()->setProperty(id, color, false))
return;
}
if (type == fatal || (m_errorCount < maxErrors && m_lastErrorLine != lineNumber && m_lastErrorColumn != columnNumber)) {
switch (type) {
case warning:
- m_errorMessages += String::sprintf("warning on line %d at column %d: %s", lineNumber, columnNumber, m);
+ m_errorMessages += String::format("warning on line %d at column %d: %s", lineNumber, columnNumber, m);
break;
case fatal:
case nonFatal:
- m_errorMessages += String::sprintf("error on line %d at column %d: %s", lineNumber, columnNumber, m);
+ m_errorMessages += String::format("error on line %d at column %d: %s", lineNumber, columnNumber, m);
}
m_lastErrorLine = lineNumber;
Value* value = valueList->current();
if (!strict && value->unit == CSSPrimitiveValue::CSS_NUMBER &&
value->fValue >= 0. && value->fValue < 1000000.) {
- String str = String::sprintf("%06d", (int)(value->fValue+.5));
+ String str = String::format("%06d", (int)(value->fValue+.5));
return new SVGPaint(SVGPaint::SVG_PAINTTYPE_RGBCOLOR, String(), str);
} else if (value->unit == CSSPrimitiveValue::CSS_RGBCOLOR) {
String str = "#" + domString(value->string);
g = max(0, min(255, g));
b = max(0, min(255, b));
- return new SVGPaint(SVGPaint::SVG_PAINTTYPE_RGBCOLOR, String(), String::sprintf("rgb(%d, %d, %d)", r, g, b).impl());
+ return new SVGPaint(SVGPaint::SVG_PAINTTYPE_RGBCOLOR, String(), String::format("rgb(%d, %d, %d)", r, g, b).impl());
}
else
return 0;
{
Value* value = valueList->current();
if (!strict && value->unit == CSSPrimitiveValue::CSS_NUMBER && value->fValue >= 0. && value->fValue < 1000000.)
- return new SVGColor(String::sprintf("%06d", (int)(value->fValue+.5)).impl());
+ return new SVGColor(String::format("%06d", (int)(value->fValue+.5)).impl());
else if (value->unit == CSSPrimitiveValue::CSS_RGBCOLOR) {
String str = "#" + domString(value->string);
return new SVGColor(str.impl());
g = max(0, min(255, g));
b = max(0, min(255, b));
- return new SVGColor(String::sprintf("rgb(%d, %d, %d)", r, g, b).impl());
+ return new SVGColor(String::format("rgb(%d, %d, %d)", r, g, b).impl());
}
else
return 0;
virtual unsigned short pathSegType() const { return PATHSEG_ARC_ABS; }
virtual String pathSegTypeAsLetter() const { return "A"; }
- virtual String toString() const { return String::sprintf("A %.6lg %.6lg %.6lg %d %d %.6lg %.6lg", m_r1, m_r2, m_angle, m_largeArcFlag, m_sweepFlag, m_x, m_y); }
+ virtual String toString() const { return String::format("A %.6lg %.6lg %.6lg %d %d %.6lg %.6lg", m_r1, m_r2, m_angle, m_largeArcFlag, m_sweepFlag, m_x, m_y); }
void setX(double x);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_ARC_REL; }
virtual String pathSegTypeAsLetter() const { return "a"; }
- virtual String toString() const { return String::sprintf("a %.6lg %.6lg %.6lg %d %d %.6lg %.6lg", m_r1, m_r2, m_angle, m_largeArcFlag, m_sweepFlag, m_x, m_y); }
+ virtual String toString() const { return String::format("a %.6lg %.6lg %.6lg %d %d %.6lg %.6lg", m_r1, m_r2, m_angle, m_largeArcFlag, m_sweepFlag, m_x, m_y); }
void setX(double x);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_ABS; }
virtual String pathSegTypeAsLetter() const { return "C"; }
- virtual String toString() const { return String::sprintf("C %.6lg %.6lg %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x2, m_y2, m_x, m_y); }
+ virtual String toString() const { return String::format("C %.6lg %.6lg %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x2, m_y2, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_REL; }
virtual String pathSegTypeAsLetter() const { return "c"; }
- virtual String toString() const { return String::sprintf("c %.6lg %.6lg %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x2, m_y2, m_x, m_y); }
+ virtual String toString() const { return String::format("c %.6lg %.6lg %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x2, m_y2, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_ABS; }
virtual String pathSegTypeAsLetter() const { return "S"; }
- virtual String toString() const { return String::sprintf("S %.6lg %.6lg %.6lg %.6lg", m_x2, m_y2, m_x, m_y); }
+ virtual String toString() const { return String::format("S %.6lg %.6lg %.6lg %.6lg", m_x2, m_y2, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_SMOOTH_REL; }
virtual String pathSegTypeAsLetter() const { return "s"; }
- virtual String toString() const { return String::sprintf("s %.6lg %.6lg %.6lg %.6lg", m_x2, m_y2, m_x, m_y); }
+ virtual String toString() const { return String::format("s %.6lg %.6lg %.6lg %.6lg", m_x2, m_y2, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_ABS; }
virtual String pathSegTypeAsLetter() const { return "Q"; }
- virtual String toString() const { return String::sprintf("Q %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x, m_y); }
+ virtual String toString() const { return String::format("Q %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_REL; }
virtual String pathSegTypeAsLetter() const { return "q"; }
- virtual String toString() const { return String::sprintf("q %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x, m_y); }
+ virtual String toString() const { return String::format("q %.6lg %.6lg %.6lg %.6lg", m_x1, m_y1, m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS; }
virtual String pathSegTypeAsLetter() const { return "T"; }
- virtual String toString() const { return String::sprintf("T %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("T %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL; }
virtual String pathSegTypeAsLetter() const { return "t"; }
- virtual String toString() const { return String::sprintf("t %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("t %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_ABS; }
virtual String pathSegTypeAsLetter() const { return "L"; }
- virtual String toString() const { return String::sprintf("L %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("L %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_REL; }
virtual String pathSegTypeAsLetter() const { return "l"; }
- virtual String toString() const { return String::sprintf("l %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("l %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_ABS; }
virtual String pathSegTypeAsLetter() const { return "H"; }
- virtual String toString() const { return String::sprintf("H %.6lg", m_x); }
+ virtual String toString() const { return String::format("H %.6lg", m_x); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_REL; }
virtual String pathSegTypeAsLetter() const { return "h"; }
- virtual String toString() const { return String::sprintf("h %.6lg", m_x); }
+ virtual String toString() const { return String::format("h %.6lg", m_x); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_ABS; }
virtual String pathSegTypeAsLetter() const { return "V"; }
- virtual String toString() const { return String::sprintf("V %.6lg", m_y); }
+ virtual String toString() const { return String::format("V %.6lg", m_y); }
void setY(double);
double y() const;
virtual unsigned short pathSegType() const { return PATHSEG_LINETO_VERTICAL_REL; }
virtual String pathSegTypeAsLetter() const { return "v"; }
- virtual String toString() const { return String::sprintf("v %.6lg", m_y); }
+ virtual String toString() const { return String::format("v %.6lg", m_y); }
void setY(double);
double y() const;
virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_ABS; }
virtual String pathSegTypeAsLetter() const { return "M"; }
- virtual String toString() const { return String::sprintf("M %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("M %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
virtual unsigned short pathSegType() const { return PATHSEG_MOVETO_REL; }
virtual String pathSegTypeAsLetter() const { return "m"; }
- virtual String toString() const { return String::sprintf("m %.6lg %.6lg", m_x, m_y); }
+ virtual String toString() const { return String::format("m %.6lg %.6lg", m_x, m_y); }
void setX(double);
double x() const;
int len = points()->numberOfItems();
for (int i = 0; i < len; ++i) {
FloatPoint p = points()->getItem(i, ec);
- _points += String::sprintf("%.6lg %.6lg ", p.x(), p.y());
+ _points += String::format("%.6lg %.6lg ", p.x(), p.y());
}
String p("points");
String hString = String::number(_h);
ExceptionCode ec = 0;
- String trans = String::sprintf("translate(%f, %f)", _x, _y);
+ String trans = String::format("translate(%f, %f)", _x, _y);
if (target->hasTagName(SVGNames::symbolTag)) {
RefPtr<SVGElement> dummy = new SVGSVGElement(SVGNames::svgTag, document());
if (_w > 0)
return;
}
- if (!m_currentDB->executeCommand(String::sprintf("DELETE FROM Icon WHERE Icon.iconID = %lli;", iconID)))
+ if (!m_currentDB->executeCommand(String::format("DELETE FROM Icon WHERE Icon.iconID = %lli;", iconID)))
LOG_ERROR("Unable to drop Icon for IconURL", iconURL.ascii().data());
- if (!m_currentDB->executeCommand(String::sprintf("DELETE FROM PageURL WHERE PageURL.iconID = %lli", iconID)))
+ if (!m_currentDB->executeCommand(String::format("DELETE FROM PageURL WHERE PageURL.iconID = %lli", iconID)))
LOG_ERROR("Unable to drop all PageURL for IconURL", iconURL.ascii().data());
}
void SQLDatabase::setSynchronous(SynchronousPragma sync)
{
- executeCommand(String::sprintf("PRAGMA synchronous = %i", sync));
+ executeCommand(String::format("PRAGMA synchronous = %i", sync));
}
void SQLDatabase::setBusyTimeout(int ms)
String Color::name() const
{
if (alpha() < 0xFF)
- return String::sprintf("#%02X%02X%02X%02X", red(), green(), blue(), alpha());
- return String::sprintf("#%02X%02X%02X", red(), green(), blue());
+ return String::format("#%02X%02X%02X%02X", red(), green(), blue(), alpha());
+ return String::format("#%02X%02X%02X", red(), green(), blue());
}
void Color::setNamedColor(const String& name)
DeprecatedString &DeprecatedString::setNum(short n)
{
- return sprintf("%d", n);
+ return format("%d", n);
}
DeprecatedString &DeprecatedString::setNum(unsigned short n)
{
- return sprintf("%u", n);
+ return format("%u", n);
}
DeprecatedString &DeprecatedString::setNum(int n)
{
- return sprintf("%d", n);
+ return format("%d", n);
}
DeprecatedString &DeprecatedString::setNum(unsigned n)
{
- return sprintf("%u", n);
+ return format("%u", n);
}
DeprecatedString &DeprecatedString::setNum(long n)
{
- return sprintf("%ld", n);
+ return format("%ld", n);
}
DeprecatedString &DeprecatedString::setNum(unsigned long n)
{
- return sprintf("%lu", n);
+ return format("%lu", n);
}
DeprecatedString &DeprecatedString::setNum(double n)
{
- return sprintf("%.6lg", n);
+ return format("%.6lg", n);
}
-DeprecatedString &DeprecatedString::sprintf(const char *format, ...)
+DeprecatedString &DeprecatedString::format(const char *format, ...)
{
+ // FIXME: this needs the same windows compat fixes as String::format
+
va_list args;
va_start(args, format);
DeprecatedString &setNum(unsigned long);
DeprecatedString &setNum(double);
- DeprecatedString &sprintf(const char *, ...)
+ DeprecatedString& format(const char *, ...)
#if __GNUC__
__attribute__ ((format (printf, 2, 3)))
#endif
static String number(unsigned long long);
static String number(double);
- static String sprintf(const char *, ...)
+ static String format(const char *, ...)
#if __GNUC__
__attribute__ ((format (printf, 1, 2)))
#endif
return DeprecatedString(reinterpret_cast<const DeprecatedChar*>(m_impl->characters()), m_impl->length());
}
-String String::sprintf(const char *format, ...)
+String String::format(const char *format, ...)
{
va_list args;
va_start(args, format);
String String::number(int n)
{
- return String::sprintf("%d", n);
+ return String::format("%d", n);
}
String String::number(unsigned n)
{
- return String::sprintf("%u", n);
+ return String::format("%u", n);
}
String String::number(long n)
{
- return String::sprintf("%ld", n);
+ return String::format("%ld", n);
}
String String::number(unsigned long n)
{
- return String::sprintf("%lu", n);
+ return String::format("%lu", n);
}
String String::number(long long n)
{
#if PLATFORM(WIN_OS)
- return String::sprintf("%I64i", n);
+ return String::format("%I64i", n);
#else
- return String::sprintf("%lli", n);
+ return String::format("%lli", n);
#endif
}
String String::number(unsigned long long n)
{
#if PLATFORM(WIN_OS)
- return String::sprintf("%I64u", n);
+ return String::format("%I64u", n);
#else
- return String::sprintf("%llu", n);
+ return String::format("%llu", n);
#endif
}
String String::number(double n)
{
- return String::sprintf("%.6lg", n);
+ return String::format("%.6lg", n);
}
int String::toInt(bool* ok) const
// FIXME: We should use something other than the vendor-area Unicode values for the above keys.
// For now, just fall through to the default.
default:
- return String::sprintf("U+%06X", toupper(c));
+ return String::format("U+%06X", toupper(c));
}
}
case VK_DELETE:
return "U+00007F";
default:
- return String::sprintf("U+%06X", toupper(keyCode));
+ return String::format("U+%06X", toupper(keyCode));
}
}
case DECIMAL_LEADING_ZERO:
// ### unsupported, we use decimal instead
case LDECIMAL:
- m_item.sprintf("%d", m_listItem->value());
+ m_item.format("%d", m_listItem->value());
break;
case LOWER_ROMAN:
m_item = toRoman(m_listItem->value(), false);
else {
DeprecatedString hex;
unsigned u = c;
- hex.sprintf("\\x{%X}", u);
+ hex.format("\\x{%X}", u);
result += hex;
}
}