diff --git a/build_linux64/libamsstring4.linux64.a b/build_linux64/libamsstring4.linux64.a index 46a9418..b15a1f8 100644 Binary files a/build_linux64/libamsstring4.linux64.a and b/build_linux64/libamsstring4.linux64.a differ diff --git a/build_linux64/objstore/amsstring4_bintextencoding.o b/build_linux64/objstore/amsstring4_bintextencoding.o index 20132cd..bdcb348 100644 Binary files a/build_linux64/objstore/amsstring4_bintextencoding.o and b/build_linux64/objstore/amsstring4_bintextencoding.o differ diff --git a/build_linux64/objstore/amsstring4_class.o b/build_linux64/objstore/amsstring4_class.o index 2dc679c..ec8cff6 100644 Binary files a/build_linux64/objstore/amsstring4_class.o and b/build_linux64/objstore/amsstring4_class.o differ diff --git a/build_linux64/objstore/amsstring4_convenience1.o b/build_linux64/objstore/amsstring4_convenience1.o index e093c1e..78cd721 100644 Binary files a/build_linux64/objstore/amsstring4_convenience1.o and b/build_linux64/objstore/amsstring4_convenience1.o differ diff --git a/build_linux64/objstore/amsstring4_portability.o b/build_linux64/objstore/amsstring4_portability.o index ce4db38..c1d2df1 100644 Binary files a/build_linux64/objstore/amsstring4_portability.o and b/build_linux64/objstore/amsstring4_portability.o differ diff --git a/build_linux64/objstore/amsstring4_template.o b/build_linux64/objstore/amsstring4_template.o index 03f1437..8a78b0a 100644 Binary files a/build_linux64/objstore/amsstring4_template.o and b/build_linux64/objstore/amsstring4_template.o differ diff --git a/build_linux64/objstore/amsstring4_tests1.o b/build_linux64/objstore/amsstring4_tests1.o index 07cb23d..25f6787 100644 Binary files a/build_linux64/objstore/amsstring4_tests1.o and b/build_linux64/objstore/amsstring4_tests1.o differ diff --git a/build_linux64/objstore/amsstring4_unicode.o b/build_linux64/objstore/amsstring4_unicode.o index 8102b28..6869d9e 100644 Binary files a/build_linux64/objstore/amsstring4_unicode.o and b/build_linux64/objstore/amsstring4_unicode.o differ diff --git a/build_linux64/tests b/build_linux64/tests index 2095091..3f460be 100644 Binary files a/build_linux64/tests and b/build_linux64/tests differ diff --git a/include/amsstring4/amsstring4_tests.hpp b/include/amsstring4/amsstring4_tests.hpp index c26b76f..8d59b05 100644 --- a/include/amsstring4/amsstring4_tests.hpp +++ b/include/amsstring4/amsstring4_tests.hpp @@ -21,6 +21,7 @@ namespace ams void amsstring4_test_convenience1a(); void amsstring4_test_convenience1b(); + void amsstring4_test_convenience1c(); }; diff --git a/src/amsstring4/amsstring4_convenience1.cpp b/src/amsstring4/amsstring4_convenience1.cpp index f4ed842..66f7013 100644 --- a/src/amsstring4/amsstring4_convenience1.cpp +++ b/src/amsstring4/amsstring4_convenience1.cpp @@ -511,7 +511,10 @@ amsarray splitalphanum(const amsstring &s) if(mode==1 && (!amsstring_ischarnumeric(c) || I>=(s.length-1))) { - I1 = I; + if(I>=(s.length-1)) + I1 = s.length; + else + I1 = I; s2 = s.substring(I0,I1); sa.append(s2); mode = 0; @@ -787,14 +790,14 @@ void amsstring4_test_convenience1b() int I; s1 = "1e2e3,45, 6.7E8,-9.13E24 "; - sa = splitalphanum(s1); + sa = s1.splitalphanum(); for(I=0;I>>"); + s2 = s1.select_between("",">>>"); printf("s1='%s'\ns2='%s'\n",s1.cstring,s2.cstring); sa.resize(0); @@ -842,8 +845,21 @@ void amsstring4_test_convenience1b() stripnewlines(&sa); s1 = concat_lines(sa); printf("\nconcat_lines(sa) = '%s'\n----\n",s1.cstring); +} + +void amsstring4_test_convenience1c() +{ + amsstring s1,s2; + amsarray sa; + int I; + + s1 = "1.2, 1.3, 6.21E7, 1.1 "; + sa = s1.splitalphanum(); + for(I=0;I