+ // take the last of the two
+ size_t nPosUnix = pSepUnix ? pSepUnix - pszFileName : 0;
+ size_t nPosDos = pSepDos ? pSepDos - pszFileName : 0;
+ if ( nPosDos > nPosUnix )
+ nPosUnix = nPosDos;
+// size_t nLen = Strlen(pszFileName);
+
+ if ( pstrPath )
+ *pstrPath = wxString(pszFileName, nPosUnix);
+ if ( pDot ) {
+ size_t nPosDot = pDot - pszFileName;
+ if ( pstrName )
+ *pstrName = wxString(pszFileName + nPosUnix + 1, nPosDot - nPosUnix);
+ if ( pstrExt )
+ *pstrExt = wxString(pszFileName + nPosDot + 1);
+ }
+ else {
+ if ( pstrName )
+ *pstrName = wxString(pszFileName + nPosUnix + 1);
+ if ( pstrExt )
+ pstrExt->Empty();
+ }