aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs6rc/s6rc_service_recheck_instance.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-07-24 17:24:27 +0000
committerLaurent Bercot <ska@appnovation.com>2021-07-24 17:24:27 +0000
commit587ca337782bafe84db03fcdc306038a61f0d74a (patch)
tree567c132ad2e657c1215c2b5328a7a58bbdce4f1a /src/libs6rc/s6rc_service_recheck_instance.c
parentd4b826cce5774ded3b859d9a9e1735c25bca50fb (diff)
downloads6-rc-587ca337782bafe84db03fcdc306038a61f0d74a.tar.gz
Adapt to new cdb interface
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libs6rc/s6rc_service_recheck_instance.c')
-rw-r--r--src/libs6rc/s6rc_service_recheck_instance.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libs6rc/s6rc_service_recheck_instance.c b/src/libs6rc/s6rc_service_recheck_instance.c
index e8cf42c..1c476f7 100644
--- a/src/libs6rc/s6rc_service_recheck_instance.c
+++ b/src/libs6rc/s6rc_service_recheck_instance.c
@@ -9,25 +9,25 @@
int s6rc_service_recheck_instance (s6rc_db_t const *db, uint32_t *id, char const **param)
{
- uint8_t type ;
uint32_t num ;
+ uint8_t type ;
s6rc_service_typenum(db->n, *id) ;
- if (type < S6RC_STYPE_N) return 0 ;
+ if (type >= S6RC_STYPE_N)
{
- cdb_reader reader = CDB_READER_ZERO ;
- cdb_data data ;
- s6rc_common_t *common = s6rc_service_common(db->n, type, num) ;
+ s6rc_common_t const *common = s6rc_service_common(db->n, type, num) ;
size_t namelen = strlen(db->storage + common->name) ;
size_t paramlen = strlen(*param) ;
+ cdb_data data ;
int r ;
char tmp[namelen + paramlen] ;
memcpy(tmp, db->storage + common->name, namelen) ;
memcpy(tmp + namelen, *param, paramlen) ;
- r = cdb_find(c, &reader, &data, tmp, namelen + paramlen) ;
+ r = cdb_find(c, &data, tmp, namelen + paramlen) ;
if (r <= 0) return r ;
if (data.len != 4) return -1 ;
uint32_unpack_big(data.s, id) ;
+ *param = 0 ;
+ return 1 ;
}
- *param = 0 ;
- return 1 ;
+ else return 0 ;
}