forked from ingenieux/hashdot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruntime.c
71 lines (62 loc) · 2.32 KB
/
runtime.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**************************************************************************
* Copyright (C) 2008-2010 David Kellum
* This file is part of Hashdot.
*
* Hashdot is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* Hashdot is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Hashdot. If not, see http://www.gnu.org/licenses/.
*
* Dynamically linking other modules to this executable is making a
* combined work based on this executable. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* As a special exception, the Hashdot copyright holder gives you
* permission to dynamically link independent modules to this
* executable, regardless of the license terms of these independent
* modules, and to copy and distribute the combination under terms of
* your choice, provided that you also meet, for each linked
* independent module, the terms and conditions of the license of that
* module. An independent module is a module which is not derived
* from or based from the source of Hashdot. If you modify Hashdot,
* you may extend this exception to your version, but you are not
* obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*************************************************************************/
#include <stdio.h>
#include <apr_general.h>
#include <apr_strings.h>
#include <apr_lib.h>
#include "runtime.h"
apr_pool_t *_mp = NULL;
int _debug = 0;
apr_status_t rt_initialize()
{
apr_status_t rv = apr_initialize();
if( rv == APR_SUCCESS ) {
rv = apr_pool_create( &_mp, NULL );
}
return rv;
}
void rt_shutdown()
{
if( _mp != NULL ) {
apr_pool_destroy( _mp );
}
apr_terminate();
}
void print_error( apr_status_t rv, const char * info )
{
char errbuf[ 256 ];
apr_strerror( rv, errbuf, sizeof(errbuf) );
ERROR( "[%d]: %s: %s", rv, errbuf, info );
}