diff --git a/tree/treeplayer/src/TTreePlayer.cxx b/tree/treeplayer/src/TTreePlayer.cxx index 018be6645014c..3047d596d03d3 100644 --- a/tree/treeplayer/src/TTreePlayer.cxx +++ b/tree/treeplayer/src/TTreePlayer.cxx @@ -2456,6 +2456,7 @@ Long64_t TTreePlayer::Scan(const char *varexp, const char *selection, UInt_t ui; UInt_t lenmax = 0; UInt_t colDefaultSize = 9; + UInt_t colMaxResizeWidth = 20; UInt_t colPrecision = 9; std::vector colFormats; std::vector colSizes; @@ -2481,6 +2482,7 @@ Long64_t TTreePlayer::Scan(const char *varexp, const char *selection, opt.Remove(start,length("size")+numlen); colDefaultSize = atoi(num.Data()); + colMaxResizeWidth = colDefaultSize; colPrecision = colDefaultSize; if (colPrecision>18) colPrecision = 18; } @@ -2632,9 +2634,10 @@ Long64_t TTreePlayer::Scan(const char *varexp, const char *selection, } var = new TTreeFormula* [ncols]; - for(ui=colFormats.size();uiPrintValue(-1)); + TString varName = var[ui]->PrintValue(-1); + if (Int_t(varName.size()) > colSizes[ui]) { + varName.Resize(std::max(1, colSizes[ui] - 3)); + varName += "..."; + } + // varName will be truncated further if necessary here (ie if colSizes[ui]<=3) + onerow += Form(numbFormat.Data(), varName.Data()); } if (fScanRedirect) out<