Skip to content

Commit

Permalink
Move res_free and prncpl_free into db.c and rename appropriately.
Browse files Browse the repository at this point in the history
  • Loading branch information
kristapsdz committed Oct 9, 2020
1 parent d8a0991 commit e472449
Show file tree
Hide file tree
Showing 10 changed files with 61 additions and 121 deletions.
6 changes: 1 addition & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -126,12 +126,10 @@ ALLSRCS = Makefile \
libkcaldav.h \
md5.js \
options.c \
principal.c \
propfind.c \
property.c \
proppatch.c \
put.c \
resource.c \
script.js \
style.css \
tests.c \
Expand All @@ -140,9 +138,7 @@ LIBOBJS = caldav.o \
ical.o
OBJS = db.o \
err.o \
kcaldav-sql.o \
principal.o \
resource.o
kcaldav-sql.o
BINOBJS = delete.o \
dynamic.o \
get.o \
Expand Down
4 changes: 4 additions & 0 deletions datetime.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@

#include "libkcaldav.h"

/*
* THIS FILE IS NOT BUILT.
*/

struct icaltmcmp {
unsigned long year; /* x-1900, x>=1970 */
unsigned long mon; /* 1--12 */
Expand Down
50 changes: 47 additions & 3 deletions db.c
Original file line number Diff line number Diff line change
Expand Up @@ -1189,7 +1189,7 @@ db_prncpl_load(struct prncpl **pp, const char *name)
return(1);
err:
*pp = NULL;
prncpl_free(p);
db_prncpl_free(p);
db_finalise(&stmt);
kerrx("%s: failure", dbname);
return(rc);
Expand Down Expand Up @@ -1468,12 +1468,12 @@ db_resource_update(const char *data, const char *url,

if (strcmp(res->etag, digest)) {
db_trans_rollback();
res_free(res);
db_resource_free(res);
return 0;
}

id = res->id;
res_free(res);
db_resource_free(res);

sql = "UPDATE resource SET data=?,etag=? WHERE id=?";
if ((stmt = db_prepare(sql)) == NULL)
Expand Down Expand Up @@ -1617,3 +1617,47 @@ db_owner_check_or_set(int64_t id)
kerrx("%s: %s: failure", dbname, __func__);
return(-1);
}

void
db_prncpl_free(struct prncpl *p)
{
size_t i;

if (NULL == p)
return;

free(p->name);
free(p->hash);
free(p->email);
for (i = 0; i < p->colsz; i++) {
free(p->cols[i].url);
free(p->cols[i].displayname);
free(p->cols[i].colour);
free(p->cols[i].description);
}
free(p->cols);
for (i = 0; i < p->proxiesz; i++) {
free(p->proxies[i].email);
free(p->proxies[i].name);
}
free(p->proxies);
for (i = 0; i < p->rproxiesz; i++) {
free(p->rproxies[i].email);
free(p->rproxies[i].name);
}
free(p->rproxies);
free(p);
}

void
db_resource_free(struct res *p)
{

if (NULL == p)
return;
free(p->etag);
free(p->url);
free(p->data);
ical_free(p->ical);
free(p);
}
6 changes: 2 additions & 4 deletions extern.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ int db_nonce_new(char **);
enum nonceerr db_nonce_update(const char *, size_t);
enum nonceerr db_nonce_validate(const char *, size_t);
int db_owner_check_or_set(int64_t);
void db_prncpl_free(struct prncpl *);
int64_t db_prncpl_identify(const char *);
int db_prncpl_load(struct prncpl **, const char *);
int db_prncpl_new(const char *, const char *, const char *, const char *);
Expand All @@ -110,15 +111,12 @@ int db_prncpl_rproxies(const struct prncpl *, void (*)(const char *, int64_t, v
int db_prncpl_update(const struct prncpl *);
int db_proxy(const struct prncpl *, int64_t, int64_t);
int db_resource_delete(const char *, const char *, int64_t);
void db_resource_free(struct res *);
int db_resource_remove(const char *, int64_t);
int db_resource_load(struct res **, const char *, int64_t);
int db_resource_new(const char *, const char *, int64_t);
int db_resource_update(const char *, const char *, const char *, int64_t);

void prncpl_free(struct prncpl *);

void res_free(struct res *);

void kvdbg(const char *, size_t, const char *, ...)
__attribute__((format(printf, 3, 4)));
void kvinfo(const char *, size_t, const char *, ...)
Expand Down
4 changes: 2 additions & 2 deletions get.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ method_get(struct kreq *r)
"%s", khttps[KHTTP_304]);
khttp_head(r, kresps[KRESP_ETAG], "%s", p->etag);
khttp_body(r);
res_free(p);
db_resource_free(p);
free(buf);
return;
}
Expand All @@ -108,7 +108,7 @@ method_get(struct kreq *r)
khttp_head(r, kresps[KRESP_ETAG], "%s", p->etag);
khttp_body(r);
ical_print(p->ical, http_ical_putc, r);
res_free(p);
db_resource_free(p);
free(buf);
}

4 changes: 2 additions & 2 deletions kcaldav.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,8 +275,8 @@ state_free(struct state *st)
if (st == NULL)
return;
if (st->prncpl != st->rprncpl)
prncpl_free(st->rprncpl);
prncpl_free(st->prncpl);
db_prncpl_free(st->rprncpl);
db_prncpl_free(st->prncpl);
free(st->principal);
free(st->collection);
free(st->resource);
Expand Down
4 changes: 2 additions & 2 deletions kcaldav.passwd.c
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ main(int argc, char *argv[])
* directories contained therein.
*/

prncpl_free(p);
db_prncpl_free(p);
p = NULL;

if ((c = db_prncpl_load(&p, user)) == 0)
Expand Down Expand Up @@ -522,7 +522,7 @@ main(int argc, char *argv[])
}

out:
prncpl_free(p);
db_prncpl_free(p);
free(user);
free(emailp);
return 0;
Expand Down
59 changes: 0 additions & 59 deletions principal.c

This file was deleted.

2 changes: 1 addition & 1 deletion propfind.c
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ propfind_list(struct kreq *req, struct kxmlreq *xml,
assert(j < st->rprncpl->colsz);
propfind_resource(req, xml, dav,
&st->rprncpl->cols[j], res);
res_free(res);
db_resource_free(res);
continue;
}
kerrx("%s: bad resource request: %s",
Expand Down
43 changes: 0 additions & 43 deletions resource.c

This file was deleted.

0 comments on commit e472449

Please sign in to comment.