modules/ims_qos: added patch for flow-description bug when request originates from...
[sip-router] / src / lib / srdb2 / db_rec.c
1 /* 
2  * Copyright (C) 2001-2003 FhG FOKUS
3  * Copyright (C) 2006-2007 iptelorg GmbH
4  *
5  * This file is part of Kamailio, a free SIP server.
6  *
7  * Kamailio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version
11  *
12  * Kamailio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License 
18  * along with this program; if not, write to the Free Software 
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20  */
21
22 /** \ingroup DB_API 
23  * @{ 
24  */
25
26 #include "db_rec.h"
27
28 #include "../../dprint.h"
29 #include "../../mem/mem.h"
30
31 #include <stdlib.h>
32 #include <string.h>
33
34
35
36 db_rec_t* db_rec(db_res_t* res, db_fld_t* fld)
37 {
38     db_rec_t* newp;
39
40     newp = (db_rec_t*)pkg_malloc(sizeof(db_rec_t));
41     if (newp == NULL) goto err;
42     memset(newp, '\0', sizeof(db_rec_t));
43         if (db_gen_init(&newp->gen) < 0) goto err;
44         newp->res = res;
45         newp->fld = fld;
46     return newp;
47
48  err:
49     ERR("Cannot create db_rec structure\n");
50         if (newp) {
51                 db_gen_free(&newp->gen);
52                 pkg_free(newp);
53         }
54     return NULL;
55 }
56
57
58 void db_rec_free(db_rec_t* r)
59 {
60     if (r == NULL) return;
61         /* Do not release fld here, it points to an array in db_cmd */
62         db_gen_free(&r->gen);
63     pkg_free(r);
64 }
65
66 /** @} */