50 ecm = std::move(ecMsg);
60 const char *txt2,
const char *txt3,
61 const char *txt4,
const char *txt5)
68 if (txt1 && *txt1) {vecP[n++] = txt1; xSpace =
true;}
69 if (txt2 && *txt2) {
if (xSpace) vecP[n++] =
" ";
70 vecP[n++] = txt2; xSpace =
true;
72 if (txt3 && *txt3) {
if (xSpace) vecP[n++] =
" ";
73 vecP[n++] = txt3; xSpace =
true;
75 if (txt4 && *txt4) {
if (xSpace) vecP[n++] =
" ";
76 vecP[n++] = txt4; xSpace =
true;
78 if (txt5 && *txt5) {
if (xSpace) vecP[n++] =
" ";
99 int n = vsnprintf(buffer,
sizeof(buffer), fmt, args);
103 if (n > (
int)
sizeof(buffer)) n =
sizeof(buffer);
105 ecMsg.append(buffer);
118 int n = vsnprintf(buffer,
sizeof(buffer), fmt, aP);
122 if (n > (
int)
sizeof(buffer)) n =
sizeof(buffer);
124 ecMsg.append(buffer);
135 for (
int i = 0; i < vecN; i++) n += strlen(vecP[i]);
137 for (
int i = 0; i < vecN; i++) ecMsg.append(vecP[i]);
146 if (!alt || *alt !=
'*')
147 {
if (!msgID) ecMsg = (alt ? alt :
XrdSysE2T(ecc));
158 void XrdOucECMsg::Setup(
const char* pfx,
int n)
160 int k = (pfx && *pfx ? strlen(pfx)+2 : 0);
163 {ecMsg.reserve(ecMsg.length() + n + k + 2);
164 ecMsg.append(&Delim, 1);
167 ecMsg.reserve(n + k + 1);
const char * XrdSysE2T(int errcode)
void MsgVA(const char *pfx, const char *fmt, std::va_list aP)
int Get(std::string &ecm, bool rst=true)
void MsgVec(const char *pfx, char const *const *vecP, int vecN)
int SetErrno(int ecc, int retval=-1, const char *alt=0)
void Msgf(const char *pfx, const char *fmt,...)