/[Apache-SVN]/httpd/httpd/trunk/modules/database/mod_dbd.c
ViewVC logotype

Diff of /httpd/httpd/trunk/modules/database/mod_dbd.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 767806, Thu Apr 23 05:38:45 2009 UTC revision 806692, Fri Aug 21 19:40:17 2009 UTC
# Line 160  static void ap_dbd_sql_init(server_rec * Line 160  static void ap_dbd_sql_init(server_rec *
160    
161  static const char *dbd_param(cmd_parms *cmd, void *dconf, const char *val)  static const char *dbd_param(cmd_parms *cmd, void *dconf, const char *val)
162  {  {
163        apr_status_t rv;
164      const apr_dbd_driver_t *driver = NULL;      const apr_dbd_driver_t *driver = NULL;
165      svr_cfg *svr = ap_get_module_config(cmd->server->module_config,      svr_cfg *svr = ap_get_module_config(cmd->server->module_config,
166                                          &dbd_module);                                          &dbd_module);
# Line 172  static const char *dbd_param(cmd_parms * Line 173  static const char *dbd_param(cmd_parms *
173           * best done at server startup.  This also guarantees that           * best done at server startup.  This also guarantees that
174           * we won't return an error later.           * we won't return an error later.
175           */           */
176          switch (apr_dbd_get_driver(cmd->pool, cfg->name, &driver)) {          rv = apr_dbd_get_driver(cmd->pool, cfg->name, &driver);
177          case APR_ENOTIMPL:          if (APR_STATUS_IS_ENOTIMPL(rv)) {
178              return apr_psprintf(cmd->pool, "DBD: No driver for %s", cfg->name);              return apr_psprintf(cmd->pool, "DBD: No driver for %s", cfg->name);
179          case APR_EDSOOPEN:          }
180            else if (APR_STATUS_IS_EDSOOPEN(rv)) {
181              return apr_psprintf(cmd->pool,              return apr_psprintf(cmd->pool,
182  #ifdef NETWARE  #ifdef NETWARE
183                                  "DBD: Can't load driver file dbd%s.nlm",                                  "DBD: Can't load driver file dbd%s.nlm",
# Line 183  static const char *dbd_param(cmd_parms * Line 185  static const char *dbd_param(cmd_parms *
185                                  "DBD: Can't load driver file apr_dbd_%s.so",                                  "DBD: Can't load driver file apr_dbd_%s.so",
186  #endif  #endif
187                                  cfg->name);                                  cfg->name);
188          case APR_ESYMNOTFOUND:          }
189            else if (APR_STATUS_IS_ESYMNOTFOUND(rv)) {
190              return apr_psprintf(cmd->pool,              return apr_psprintf(cmd->pool,
191                                  "DBD: Failed to load driver apr_dbd_%s_driver",                                  "DBD: Failed to load driver apr_dbd_%s_driver",
192                                  cfg->name);                                  cfg->name);
# Line 535  static apr_status_t dbd_construct(void * Line 538  static apr_status_t dbd_construct(void *
538       */       */
539      rv = apr_dbd_get_driver(rec->pool, cfg->name, &rec->driver);      rv = apr_dbd_get_driver(rec->pool, cfg->name, &rec->driver);
540      if (rv != APR_SUCCESS) {      if (rv != APR_SUCCESS) {
541          switch (rv) {          if (APR_STATUS_IS_ENOTIMPL(rv)) {
         case APR_ENOTIMPL:  
542              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,
543                           "DBD: driver for %s not available", cfg->name);                           "DBD: driver for %s not available", cfg->name);
544              break;          }
545          case APR_EDSOOPEN:          else if (APR_STATUS_IS_EDSOOPEN(rv)) {
546              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,
547                           "DBD: can't find driver for %s", cfg->name);                           "DBD: can't find driver for %s", cfg->name);
548              break;          }
549          case APR_ESYMNOTFOUND:          else if (APR_STATUS_IS_ESYMNOTFOUND(rv)) {
550              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,
551                           "DBD: driver for %s is invalid or corrupted",                           "DBD: driver for %s is invalid or corrupted",
552                           cfg->name);                           cfg->name);
553              break;          }
554          default:          else {
555              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,              ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,
556                           "DBD: mod_dbd not compatible with APR in get_driver");                           "DBD: mod_dbd not compatible with APR in get_driver");
             break;  
557          }          }
   
558          apr_pool_destroy(rec->pool);          apr_pool_destroy(rec->pool);
559          return rv;          return rv;
560      }      }

Legend:
Removed from v.767806  
changed lines
  Added in v.806692

apache@apache.org
ViewVC Help
Powered by ViewVC 1.1.2