diff -r 56cd8111b7f7 -r 41300fa6a67c examples/script/customclass/bytearrayclass.cpp --- a/examples/script/customclass/bytearrayclass.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/examples/script/customclass/bytearrayclass.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -72,18 +72,6 @@ int m_last; }; -static qint32 toArrayIndex(const QString &str) -{ - QByteArray bytes = str.toUtf8(); - char *eptr; - quint32 pos = strtoul(bytes.constData(), &eptr, 10); - if ((eptr == bytes.constData() + bytes.size()) - && (QByteArray::number(pos) == bytes)) { - return pos; - } - return -1; -} - //! [0] ByteArrayClass::ByteArrayClass(QScriptEngine *engine) : QObject(engine), QScriptClass(engine) @@ -120,8 +108,9 @@ if (name == length) { return flags; } else { - qint32 pos = toArrayIndex(name); - if (pos == -1) + bool isArrayIndex; + qint32 pos = name.toArrayIndex(&isArrayIndex); + if (!isArrayIndex) return 0; *id = pos; if ((flags & HandlesReadAccess) && (pos >= ba->size()))