examples/script/customclass/bytearrayclass.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- 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()))