Definition at line 60 of file regerror.c.
64{
66 const char *msg;
67 char convbuf[
sizeof(
unk) + 50];
/* 50 = plenty for int */
69 int icode;
70
72 {
73 case REG_ATOI:
/* convert name to number */
75 if (strcmp(r->
name, errbuf) == 0)
76 break;
77 sprintf(convbuf,
"%d", r->
code);
/* -1 for unknown */
78 msg = convbuf;
79 break;
80 case REG_ITOA:
/* convert number to name */
81 icode = atoi(errbuf); /* not our problem if this fails */
84 break;
87 else
88 { /* unknown; tell him the number */
89 sprintf(convbuf,
"REG_%u", (
unsigned) icode);
90 msg = convbuf;
91 }
92 break;
93 default: /* a real, normal error code */
96 break;
99 else
100 { /* unknown; say so */
102 msg = convbuf;
103 }
104 break;
105 }
106
107 len = strlen(msg) + 1;
/* space needed, including NUL */
108 if (errbuf_size > 0)
109 {
110 if (errbuf_size >
len)
111 strcpy(errbuf, msg);
112 else
113 { /* truncate to fit */
114 memcpy(errbuf, msg, errbuf_size - 1);
115 errbuf[errbuf_size - 1] = '0円';
116 }
117 }
118
120}
int errcode(int sqlerrcode)
static const struct rerr rerrs[]
References rerr::code, errcode(), rerr::explain, len, rerr::name, REG_ATOI, REG_ITOA, rerrs, sprintf, and unk.
Referenced by check_ident_usermap(), NIAddAffix(), RE_compile(), RE_compile_and_cache(), RE_wchar_execute(), regcomp_auth_token(), regexp_fixed_prefix(), replace_text_regexp(), test_re_compile(), and test_re_execute().