VirtualBox

Changeset 22109 in vbox


Ignore:
Timestamp:
Aug 9, 2009 1:18:47 AM (15 years ago)
Author:
vboxsync
Message:

IPRT: Added RTPathTraverseList.

Location:
trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/path.h

    r20374 r22109  
    376376RTDECL(int) RTPathAppend(char *pszPath, size_t cbPathDst, const char *pszAppend);
    377377
     378/**
     379 * Callback for RTPathTraverseList that's called for each element.
     380 *
     381 * @returns IPRT style status code. Return VINF_TRY_AGAIN to continue, any other
     382 *          value will abort the traversing and be returned to the caller.
     383 *
     384 * @param   pchPath         Pointer to the start of the current path. This is
     385 *                          not null terminated.
     386 * @param   cchPath         The length of the path.
     387 * @param   pvUser1         The first user parameter.
     388 * @param   pvUser2         The second user parameter.
     389 */
     390typedef DECLCALLBACK(int) FNRTPATHTRAVERSER(char const *pchPath, size_t cchPath, void *pvUser1, void *pvUser2);
     391/** Pointer to a FNRTPATHTRAVERSER. */
     392typedef FNRTPATHTRAVERSER *PFNRTPATHTRAVERSER;
     393
     394/**
     395 * Traverses a string that can contain multiple paths separated by a special
     396 * character.
     397 *
     398 * @returns IPRT style status code from the callback or VERR_END_OF_STRING if
     399 *          the callback returned VINF_TRY_AGAIN for all paths in the string.
     400 *
     401 * @param   pszPathList     The string to traverse.
     402 * @param   chSep           The separator character.  Using the null terminator
     403 *                          is fine, but the result will simply be that there
     404 *                          will only be one callback for the entire string
     405 *                          (save any leading white space).
     406 * @param   pfnCallback     The callback.
     407 * @param   pvUser1         First user argument for the callback.
     408 * @param   pvUser2         Second user argument for the callback.
     409 */
     410RTDECL(int) RTPathTraverseList(const char *pszPathList, char chSep, PFNRTPATHTRAVERSER pfnCallback, void *pvUser1, void *pvUser2);
     411
    378412
    379413#ifdef IN_RING3
  • trunk/src/VBox/Runtime/Makefile.kmk

    r21920 r22109  
    256256        common/path/RTPathStripFilename.cpp \
    257257        common/path/RTPathStripTrailingSlash.cpp \
     258        common/path/RTPathTraverseList.cpp \
    258259        common/path/comparepaths.cpp \
    259260        common/rand/rand.cpp \
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