52 ecm = std::move(ecMsg);
62 const char *txt2,
const char *txt3,
63 const char *txt4,
const char *txt5)
70 if (txt1 && *txt1) {vecP[n++] = txt1; xSpace =
true;}
71 if (txt2 && *txt2) {
if (xSpace) vecP[n++] =
" ";
72 vecP[n++] = txt2; xSpace =
true;
74 if (txt3 && *txt3) {
if (xSpace) vecP[n++] =
" ";
75 vecP[n++] = txt3; xSpace =
true;
77 if (txt4 && *txt4) {
if (xSpace) vecP[n++] =
" ";
78 vecP[n++] = txt4; xSpace =
true;
80 if (txt5 && *txt5) {
if (xSpace) vecP[n++] =
" ";
101 int n = vsnprintf(buffer,
sizeof(buffer), fmt, args);
105 if (n > (
int)
sizeof(buffer)) n =
sizeof(buffer);
108 ecMsg.append(buffer);
122 int n = vsnprintf(buffer,
sizeof(buffer), fmt, aP);
126 if (n > (
int)
sizeof(buffer)) n =
sizeof(buffer);
129 ecMsg.append(buffer);
141 for (
int i = 0; i < vecN; i++) n += strlen(vecP[i]);
144 for (
int i = 0; i < vecN; i++) ecMsg.append(vecP[i]);
156 if (!alt || *alt !=
'*')
158 Setup(msgID, strlen(alt));
169 void XrdOucECMsg::Setup(
const char* pfx,
int n)
171 int k = (pfx && *pfx ? strlen(pfx)+2 : 0);
175 {ecMsg.reserve(ecMsg.length() + n + k + 2);
176 ecMsg.append(&dlm, 1);
179 ecMsg.reserve(n + k + 1);
const char * XrdSysE2T(int errcode)
void MsgVA(const char *pfx, const char *fmt, std::va_list aP)
int SetErrno(int ecc, int ret=-1, const char *alt=0)
int Get(std::string &ecm, bool rst=true)
void MsgVec(const char *pfx, char const *const *vecP, int vecN)
void Msgf(const char *pfx, const char *fmt,...)