~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/errmsg.cc

  • Committer: Brian Aker
  • Date: 2008-10-20 04:28:21 UTC
  • mto: (492.3.21 drizzle-clean-code)
  • mto: This revision was merged to the branch mainline in revision 530.
  • Revision ID: brian@tangent.org-20081020042821-rqqdrccuu8195k3y
Second pass of thd cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
 
79
79
/* The plugin_foreach() iterator requires that we
80
80
   convert all the parameters of a plugin api entry point
81
 
   into just one single void ptr, plus the thd.
 
81
   into just one single void ptr, plus the session.
82
82
   So we will take all the additional paramters of errmsg_vprintf,
83
83
   and marshall them into a struct of this type, and
84
84
   then just pass in a pointer to it.
92
92
 
93
93
 
94
94
/* This gets called by plugin_foreach once for each loaded errmsg plugin */
95
 
static bool errmsg_iterate (Session *thd, plugin_ref plugin, void *p)
 
95
static bool errmsg_iterate (Session *session, plugin_ref plugin, void *p)
96
96
{
97
97
  errmsg_t *l= plugin_data(plugin, errmsg_t *);
98
98
  errmsg_parms_t *parms= (errmsg_parms_t *) p;
99
99
 
100
100
  if (l && l->errmsg_func)
101
101
  {
102
 
    if (l->errmsg_func(thd, parms->priority, parms->format, parms->ap))
 
102
    if (l->errmsg_func(session, parms->priority, parms->format, parms->ap))
103
103
    {
104
104
      /* we're doing the errmsg plugin api,
105
105
         so we can't trust the errmsg api to emit our error messages
115
115
  return false;
116
116
}
117
117
 
118
 
bool errmsg_vprintf (Session *thd, int priority, const char *format, va_list ap)
 
118
bool errmsg_vprintf (Session *session, int priority, const char *format, va_list ap)
119
119
{
120
120
  bool foreach_rv;
121
121
  errmsg_parms_t parms;
127
127
 
128
128
  /* call errmsg_iterate
129
129
     once for each loaded errmsg plugin */
130
 
  foreach_rv= plugin_foreach(thd,
 
130
  foreach_rv= plugin_foreach(session,
131
131
                             errmsg_iterate,
132
132
                             DRIZZLE_ERRMSG_PLUGIN,
133
133
                             (void *) &parms);
134
134
  return foreach_rv;
135
135
}
136
136
 
137
 
bool errmsg_printf (Session *thd, int priority, const char *format, ...)
 
137
bool errmsg_printf (Session *session, int priority, const char *format, ...)
138
138
{
139
139
  bool rv;
140
140
  va_list args;
141
141
  va_start(args, format);
142
 
  rv= errmsg_vprintf(thd, priority, format, args);
 
142
  rv= errmsg_vprintf(session, priority, format, args);
143
143
  va_end(args);
144
144
  return rv;
145
145
}