I *think* this fixes the problem reported earlier.

 .robin.

--- expr.cpp.orig       Tue Nov 14 15:09:04 2000
+++ expr.cpp    Tue Nov 14 15:53:22 2000
@@ -1553,18 +1553,6 @@
     return "";
 }
 
-char *Expression::tostringCharPtr()
-{
-    assert((functor == EXF_ATOM) && (type == EX_STRING));
-    return (char*)(*NZ(patomstring));
-}
-
-const Str& Expression::tostringRef() const
-{
-    assert((functor == EXF_ATOM) && (type == EX_STRING));
-    return (*NZ(patomstring));
-}
-
 Number Expression::tonumber()
 {
     assert(functor == EXF_ATOM);
@@ -2692,14 +2680,16 @@
     case EXFF_SUBSTRING_AFTER:
         {
             Str s;
-            const Str& theSmaller = atoms[1] -> tostringRef();
-            char *thestring;
+            Str theSmaller;
+            Str thestring;
+
             checkArgsCount(2);
             checkIsString2(0,1);
             int where = firstOccurence(
                 // changing tostringCharPtr() to tostring():
-                thestring = atoms[0] -> tostring(),
-                theSmaller);
+                thestring  = atoms[0] -> tostring(),
+                theSmaller = atoms[1] -> tostring());
+
             if (where == -1)
                 s.empty();
             else

Reply via email to