~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/errmsg_print.cc

  • Committer: Brian Aker
  • Date: 2011-02-05 10:53:26 UTC
  • mto: (2147.3.1 alter-table)
  • mto: This revision was merged to the branch mainline in revision 2148.
  • Revision ID: brian@tangent.org-20110205105326-hjmn5xehw5rs46tp
Fix bad error in warnings/errors.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems
 
4
 *  Copyright (C) 2008 Sun Microsystems, Inc.
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
37
37
void sql_perror(const char *message)
38
38
{
39
39
  char errmsg[STRERROR_MAX];
40
 
  strerror_r(errno, errmsg, sizeof(errmsg));
41
 
  errmsg_printf(ERRMSG_LVL_ERROR, "%s: %s\n", message, errmsg);
42
 
}
43
 
 
44
 
bool errmsg_printf (int priority, char const *format, ...)
 
40
  errmsg[0]= 0;
 
41
  strerror_r(errno, errmsg, sizeof(errmsg));
 
42
  errmsg_printf(error::ERROR, "%s: %s\n", message, errmsg);
 
43
}
 
44
 
 
45
// @todo Cap the size of message.
 
46
void sql_perror(const std::string &message)
 
47
{
 
48
  static std::string empty;
 
49
  sql_perror(message, empty);
 
50
}
 
51
 
 
52
// @todo Cap the size of message/extra.
 
53
void sql_perror(std::string message, const std::string &extra)
 
54
{
 
55
  char errmsg[STRERROR_MAX];
 
56
  errmsg[0]= 0;
 
57
  strerror_r(errno, errmsg, sizeof(errmsg));
 
58
 
 
59
  if (not extra.empty())
 
60
  {
 
61
    if (message.at(message.size()) != ' ')
 
62
      message+= " ";
 
63
 
 
64
    message+= "'";
 
65
    message+= extra;
 
66
    message+= "'";
 
67
  }
 
68
 
 
69
  errmsg_printf(error::ERROR, "%s: %s\n", message.c_str(), errmsg);
 
70
}
 
71
 
 
72
bool errmsg_printf (error::level_t priority, char const *format, ...)
45
73
{
46
74
  bool rv;
47
75
  va_list args;
48
76
  va_start(args, format);
49
 
  rv= plugin::ErrorMessage::vprintf(NULL, priority, format, args);
 
77
  rv= plugin::ErrorMessage::vprintf(priority, format, args);
50
78
  va_end(args);
51
79
  return rv;
52
80
}