Changeset 25026 in webkit for trunk/JavaScriptCore/kjs/string_object.cpp
- Timestamp:
- Aug 12, 2007, 7:42:17 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/string_object.cpp
r24919 r25026 3 3 * This file is part of the KDE libraries 4 4 * Copyright (C) 1999-2001 Harri Porten ([email protected]) 5 * Copyright (C) 2004 Apple Computer, Inc.5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 6 6 * 7 7 * This library is free software; you can redistribute it and/or … … 363 363 int matchLen = ovector[(i + 1) * 2 + 1] - matchStart; 364 364 365 args.append(jsString(source.substr(matchStart, matchLen))); 365 if (matchStart < 0) 366 args.append(jsUndefined()); 367 else 368 args.append(jsString(source.substr(matchStart, matchLen))); 366 369 } 367 370 … … 609 612 pos = 0; 610 613 while (static_cast<uint32_t>(i) != limit && pos < u.size()) { 611 // TODO: back references612 614 int mpos; 613 int *ovector = 0L;615 int* ovector; 614 616 UString mstr = reg->match(u, pos, &mpos, &ovector); 615 delete [] ovector; ovector = 0L;616 if (mpos < 0)617 if (mpos < 0) { 618 delete [] ovector; 617 619 break; 620 } 618 621 pos = mpos + (mstr.isEmpty() ? 1 : mstr.size()); 619 622 if (mpos != p0 || !mstr.isEmpty()) { … … 622 625 i++; 623 626 } 627 for (unsigned si = 1; si <= reg->subPatterns(); ++si) { 628 int spos = ovector[si * 2]; 629 if (spos < 0) 630 res->put(exec, i++, jsUndefined()); 631 else 632 res->put(exec, i++, jsString(u.substr(spos, ovector[si * 2 + 1] - spos))); 633 } 634 delete [] ovector; 624 635 } 625 636 } else {
Note:
See TracChangeset
for help on using the changeset viewer.