added qse_substbasenamedup()/qse_substwcsbasenamedup()/qse_substmbsbasenamedup().
enhanced $INCLUDE handling in raddic
This commit is contained in:
@ -132,8 +132,14 @@ QSE_EXPORT const qse_mchar_t* qse_mbsbasename (
|
||||
const qse_mchar_t* path
|
||||
);
|
||||
|
||||
QSE_EXPORT qse_mchar_t* qse_substmbsbasenamedup (
|
||||
const qse_mchar_t* path,
|
||||
const qse_mchar_t* file,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
/**
|
||||
* The qse_mbspathroot() function returns the core part of \a path
|
||||
* The qse_mbspathcore() function returns the core part of \a path
|
||||
* excluding a special prefix.
|
||||
*/
|
||||
QSE_EXPORT qse_mchar_t* qse_mbspathcore (
|
||||
@ -230,8 +236,14 @@ QSE_EXPORT const qse_wchar_t* qse_wcsbasename (
|
||||
const qse_wchar_t* path
|
||||
);
|
||||
|
||||
QSE_EXPORT qse_wchar_t* qse_substwcsbasenamedup (
|
||||
const qse_wchar_t* path,
|
||||
const qse_wchar_t* file,
|
||||
qse_mmgr_t* mmgr
|
||||
);
|
||||
|
||||
/**
|
||||
* The qse_wcspathroot() function returns the core part of \a path
|
||||
* The qse_wcspathcore() function returns the core part of \a path
|
||||
* excluding a special prefix.
|
||||
*/
|
||||
QSE_EXPORT qse_wchar_t* qse_wcspathcore (
|
||||
@ -286,23 +298,25 @@ QSE_EXPORT qse_wchar_t* qse_mergewcspathdup (
|
||||
|
||||
|
||||
#if defined(QSE_CHAR_IS_MCHAR)
|
||||
# define qse_isabspath(p) qse_ismbsabspath(p)
|
||||
# define qse_isdrivepath(p) qse_ismbsdrivepath(p)
|
||||
# define qse_isdriveabspath(p) qse_ismbsdriveabspath(p)
|
||||
# define qse_isdrivecurpath(p) qse_ismbsdrivecurpath(p)
|
||||
# define qse_basename(path) qse_mbsbasename(path)
|
||||
# define qse_pathcore(p) qse_mbspathcore(p)
|
||||
# define qse_canonpath(p,c,f) qse_canonmbspath(p,c,f)
|
||||
# define qse_mergepathdup(d,f,m) qse_mergembspathdup(d,f,m)
|
||||
# define qse_isabspath(p) qse_ismbsabspath(p)
|
||||
# define qse_isdrivepath(p) qse_ismbsdrivepath(p)
|
||||
# define qse_isdriveabspath(p) qse_ismbsdriveabspath(p)
|
||||
# define qse_isdrivecurpath(p) qse_ismbsdrivecurpath(p)
|
||||
# define qse_basename(path) qse_mbsbasename(path)
|
||||
# define qse_pathcore(p) qse_mbspathcore(p)
|
||||
# define qse_canonpath(p,c,f) qse_canonmbspath(p,c,f)
|
||||
# define qse_mergepathdup(d,f,m) qse_mergembspathdup(d,f,m)
|
||||
# define qse_substbasenamedup(d,f,m) qse_substmbsbasenamedup(d,f,m)
|
||||
#else
|
||||
# define qse_isabspath(p) qse_iswcsabspath(p)
|
||||
# define qse_isdrivepath(p) qse_iswcsdrivepath(p)
|
||||
# define qse_isdriveabspath(p) qse_iswcsdriveabspath(p)
|
||||
# define qse_isdrivecurpath(p) qse_iswcsdrivecurpath(p)
|
||||
# define qse_basename(path) qse_wcsbasename(path)
|
||||
# define qse_pathcore(p) qse_getpathcore(p)
|
||||
# define qse_canonpath(p,c,f) qse_canonwcspath(p,c,f)
|
||||
# define qse_mergepathdup(d,f,m) qse_mergewcspathdup(d,f,m)
|
||||
# define qse_isabspath(p) qse_iswcsabspath(p)
|
||||
# define qse_isdrivepath(p) qse_iswcsdrivepath(p)
|
||||
# define qse_isdriveabspath(p) qse_iswcsdriveabspath(p)
|
||||
# define qse_isdrivecurpath(p) qse_iswcsdrivecurpath(p)
|
||||
# define qse_basename(path) qse_wcsbasename(path)
|
||||
# define qse_pathcore(p) qse_wcspathcore(p)
|
||||
# define qse_canonpath(p,c,f) qse_canonwcspath(p,c,f)
|
||||
# define qse_mergepathdup(d,f,m) qse_mergewcspathdup(d,f,m)
|
||||
# define qse_substbasenamedup(d,f,m) qse_substwcsbasenamedup(d,f,m)
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
@ -38,7 +38,8 @@ typedef enum qse_raddic_opt_t qse_raddic_opt_t;
|
||||
|
||||
enum qse_raddic_trait_t
|
||||
{
|
||||
QSE_RADDIC_ALLOW_CONST_WITHOUT_ATTR = (1 << 0)
|
||||
QSE_RADDIC_ALLOW_CONST_WITHOUT_ATTR = (1 << 0),
|
||||
QSE_RADDIC_ALLOW_DUPLICATE_CONST = (1 << 1)
|
||||
};
|
||||
typedef enum qse_raddic_trait_t qse_raddic_trait_t;
|
||||
|
||||
@ -57,6 +58,8 @@ enum qse_raddic_errnum_t
|
||||
};
|
||||
typedef enum qse_raddic_errnum_t qse_raddic_errnum_t;
|
||||
|
||||
|
||||
#if 0
|
||||
#define QSE_RADDIC_ATTR_TYPE_STRING 0
|
||||
#define QSE_RADDIC_ATTR_TYPE_INTEGER 1
|
||||
#define QSE_RADDIC_ATTR_TYPE_IPADDR 2
|
||||
@ -72,6 +75,60 @@ typedef enum qse_raddic_errnum_t qse_raddic_errnum_t;
|
||||
#define QSE_RADDIC_ATTR_TYPE_SIGNED 12
|
||||
#define QSE_RADDIC_ATTR_TYPE_COMBO_IP 13
|
||||
#define QSE_RADDIC_ATTR_TYPE_TLV 14
|
||||
#endif
|
||||
|
||||
enum qse_raddic_attr_type_t
|
||||
{
|
||||
QSE_RADDIC_ATTR_TYPE_INVALID = 0,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_STRING,
|
||||
QSE_RADDIC_ATTR_TYPE_OCTETS,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_IPV4_ADDR,
|
||||
QSE_RADDIC_ATTR_TYPE_IPV4_PREFIX,
|
||||
QSE_RADDIC_ATTR_TYPE_IPV6_ADDR,
|
||||
QSE_RADDIC_ATTR_TYPE_IPV6_PREFIX,
|
||||
QSE_RADDIC_ATTR_TYPE_IFID,
|
||||
QSE_RADDIC_ATTR_TYPE_COMBO_IP_ADDR,
|
||||
QSE_RADDIC_ATTR_TYPE_COMBO_IP_PREFIX,
|
||||
QSE_RADDIC_ATTR_TYPE_ETHERNET,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_BOOL,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_UINT8,
|
||||
QSE_RADDIC_ATTR_TYPE_UINT16,
|
||||
QSE_RADDIC_ATTR_TYPE_UINT32,
|
||||
QSE_RADDIC_ATTR_TYPE_UINT64,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_INT8,
|
||||
QSE_RADDIC_ATTR_TYPE_INT16,
|
||||
QSE_RADDIC_ATTR_TYPE_INT32,
|
||||
QSE_RADDIC_ATTR_TYPE_INT64,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_FLOAT32,
|
||||
QSE_RADDIC_ATTR_TYPE_FLOAT64,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_TIMEVAL,
|
||||
QSE_RADDIC_ATTR_TYPE_DATE,
|
||||
QSE_RADDIC_ATTR_TYPE_DATE_MILLISECONDS,
|
||||
QSE_RADDIC_ATTR_TYPE_DATE_MICROSECONDS,
|
||||
QSE_RADDIC_ATTR_TYPE_DATE_NANOSECONDS,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_ABINARY,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_SIZE,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_TLV,
|
||||
QSE_RADDIC_ATTR_TYPE_STRUCT,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_EXTENDED,
|
||||
QSE_RADDIC_ATTR_TYPE_LONG_EXTENDED,
|
||||
|
||||
QSE_RADDIC_ATTR_TYPE_VSA,
|
||||
QSE_RADDIC_ATTR_TYPE_EVS,
|
||||
QSE_RADDIC_ATTR_TYPE_VENDOR
|
||||
};
|
||||
typedef enum qse_raddic_attr_type_t qse_raddic_attr_type_t;
|
||||
|
||||
struct qse_raddic_attr_flags_t
|
||||
{
|
||||
|
Reference in New Issue
Block a user