33#ifndef _das_info_priv_h_
34#define _das_info_priv_h_
42static inline char* _prn_at(
char* sBuf,
size_t uLen,
int nNeed)
44 return ((
size_t)nNeed < uLen) ? sBuf + nNeed : NULL;
47static inline size_t _prn_rem(
size_t uLen,
int nNeed)
49 return ((
size_t)nNeed < uLen) ? uLen - (size_t)nNeed : 0;
53static inline int _prn_catf(
char* sBuf,
size_t uLen,
int nNeed,
const char* sFmt, ...)
57 int n = vsnprintf(_prn_at(sBuf, uLen, nNeed), _prn_rem(uLen, nNeed), sFmt, ap);
59 return (n < 0) ? nNeed : nNeed + n;
65static inline int _prn_catIndent(
66 char* sBuf,
size_t uLen,
int nNeed,
const char* sSrc,
const char* sIndent
68 for(
const char* p = sSrc; *p !=
'\0'; ++p){
69 if((
size_t)nNeed + 1 < uLen) sBuf[nNeed] = *p;
72 for(
const char* q = sIndent; *q !=
'\0'; ++q){
73 if((
size_t)nNeed + 1 < uLen) sBuf[nNeed] = *q;
78 if(uLen > 0) sBuf[((size_t)nNeed < uLen) ? (size_t)nNeed : uLen - 1] =
'\0';
83static inline char* _prn_fit(
char* sBuf,
size_t uLen,
int nNeed)
85 return ((nNeed >= 0)&&((
size_t)nNeed < uLen)) ? sBuf : NULL;
90char* das_idx_prn(
int nRank, ptrdiff_t* pIdx,
size_t uLen,
char* sBuf);