Problem in iterator management? (ww8par5.cxx / sw module)

julien2412 serval2412 at yahoo.fr
Sun Feb 22 14:05:30 PST 2015


Hello,

This part of code seems a little bit fishy for iterator management:
   3090                             do
   3091                             {
   3092                                 eType = ++aIt == aPattern.end() ?
TOKEN_END : aIt->eTokenType;
   3093 
   3094                                 if (eType == TOKEN_PAGE_NUMS)
   3095                                 {
   3096                                     aIt = aPattern.erase(aIt);
   3097                                     --aIt;
   3098                                     if (
   3099                                          TOKEN_TAB_STOP ==
   3100                                          aIt->eTokenType
   3101                                        )
   3102                                     {
   3103                                         aPattern.erase(aIt);
   3104                                         aForm.SetPattern(nLevel,
aPattern);
   3105                                     }
   3106                                     eType = TOKEN_END;
   3107                                 }
   3108                             }
   3109                             while (TOKEN_END != eType);

http://opengrok.libreoffice.org/xref/core/sw/source/filter/ww8/ww8par5.cxx#3090

Any idea how to simplify (fix?) this?

Julien



--
View this message in context: http://nabble.documentfoundation.org/Problem-in-iterator-management-ww8par5-cxx-sw-module-tp4141050.html
Sent from the Dev mailing list archive at Nabble.com.


More information about the LibreOffice mailing list