VirtualBox

Ignore:
Timestamp:
Apr 8, 2013 12:08:00 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
84828
Message:

IPRT: A Study in Paths - Chapter 3: Reassembling parsed and split paths.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/testcase/tstRTPath.cpp

    r45394 r45400  
    8787    };
    8888
     89    char szPath1[RTPATH_MAX];
    8990    union
    9091    {
     
    116117                                 s_aTests[i].offSuffix, u.Parsed.offSuffix,
    117118                                 s_aTests[i].cchPath,   u.Parsed.cchPath);
     119        }
     120        else
     121        {
     122            rc = RTPathParsedReassemble(s_aTests[i].pszPath, &u.Parsed, s_aTests[i].fFlags & ~RTPATH_STR_F_MIDDLE,
     123                                        szPath1, sizeof(szPath1));
     124            if (rc == VINF_SUCCESS)
     125            {
     126                RTTESTI_CHECK_MSG(strlen(szPath1) == s_aTests[i].cchPath, ("%s\n", szPath1));
     127                if (   !(u.Parsed.fProps & RTPATH_PROP_EXTRA_SLASHES)
     128                    && (s_aTests[i].fFlags & RTPATH_STR_F_STYLE_MASK) != RTPATH_STR_F_STYLE_DOS)
     129                    RTTESTI_CHECK_MSG(strcmp(szPath1, s_aTests[i].pszPath) == 0, ("%s\n", szPath1));
     130            }
     131            else
     132                RTTestIFailed("RTPathParsedReassemble -> %Rrc", rc);
    118133        }
    119134    }
     
    162177                RTPathSplitFree(pSplit);
    163178            }
     179
     180            rc = RTPathSplitReassemble(&u.Split, s_aTests[i].fFlags & ~RTPATH_STR_F_MIDDLE, szPath1, sizeof(szPath1));
     181            if (rc == VINF_SUCCESS)
     182            {
     183                RTTESTI_CHECK_MSG(strlen(szPath1) == s_aTests[i].cchPath, ("%s\n", szPath1));
     184                if (   !(u.Parsed.fProps & RTPATH_PROP_EXTRA_SLASHES)
     185                    && (s_aTests[i].fFlags & RTPATH_STR_F_STYLE_MASK) != RTPATH_STR_F_STYLE_DOS)
     186                    RTTESTI_CHECK_MSG(strcmp(szPath1, s_aTests[i].pszPath) == 0, ("%s\n", szPath1));
     187            }
     188            else
     189                RTTestIFailed("RTPathSplitReassemble -> %Rrc", rc);
    164190        }
    165191    }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette