Ignore:
Timestamp:
08/01/02 09:31:18 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mdata/MDataChain.cc

    r1353 r1465  
    162162{
    163163    int l = txt.Length();
    164     for (int i = 0; i<l; i++)
    165         if (!isalnum(txt[i]) && txt[i]!='.' && txt[i]!='-')
     164    for (int i=0; i<l; i++)
     165    {
     166        if (!isalnum(txt[i]) && txt[i]!='.' &&
     167            ((txt[i]!='-' && txt[i]!='+') || i!=0))
    166168            return i;
     169    }
    167170
    168171    return l;
     
    210213    if (txt=="sgn")   return kESgn;
    211214    if (txt[0]=='-')  return kENegative;
     215    if (txt[0]=='+')  return kEPositive;
    212216
    213217    return kENoop;
     
    324328        case '8':
    325329        case '9':
    326             if (txt[0]!='-' || isdigit(txt[1]) || txt[1]=='.')
     330            if ((txt[0]!='-' && txt[0]!='+') || isdigit(txt[1]) || txt[1]=='.')
    327331            {
    328332                char *end;
     
    360364            txt = txt.Strip(TString::kBoth);
    361365
    362             if (txt.IsNull() || txt[0]!='(')
     366            if ((txt.IsNull() || txt[0]!='(') && text[0]!='-' && text[0]!='+')
    363367            {
    364368                newmember = new MDataMember(text.Data());
     
    376380
    377381            Int_t first = GetBracket(txt);
    378             TString sub = op==kENegative ? text.Remove(0,1) + txt : txt(1, first-1);
     382            TString sub = op==kENegative || op==kEPositive ? text.Remove(0,1) + txt : txt(1, first-1);
    379383            txt.Remove(0, first+1);
    380384
     
    435439    case kESgn:      return val<0 ? -1 : 1;
    436440    case kENegative: return -val;
     441    case kEPositive: return val;
    437442    case kENoop:     return val;
    438443    }
     
    466471    case kESgn:      *fLog << "sgn"   << flush; break;
    467472    case kENegative: *fLog << "-" << flush; break;
     473    case kEPositive: *fLog << "+" << flush; break;
    468474    case kENoop:
    469475        break;
Note: See TracChangeset for help on using the changeset viewer.