Skip to content
Snippets Groups Projects
Commit 79eb30e7 authored by Eric Vidal's avatar Eric Vidal :speech_balloon:
Browse files

service_resolve_field_to_sa.c to service_resolve_get_field_tosa.c

parent 3849d8d2
No related branches found
No related tags found
No related merge requests found
/* /*
* service.c * service_resolve_get_field_tosa.c
* *
* Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org>
* *
...@@ -18,155 +18,165 @@ ...@@ -18,155 +18,165 @@
#include <oblibs/string.h> #include <oblibs/string.h>
#include <skalibs/stralloc.h> #include <skalibs/stralloc.h>
#include <skalibs/types.h>
#include <66/resolve.h> #include <66/resolve.h>
#include <66/service.h> #include <66/service.h>
int service_resolve_field_to_sa(stralloc *sa, resolve_service_t *res, resolve_service_enum_t field) int service_resolve_get_field_tosa(stralloc *sa, resolve_service_t *res, resolve_service_enum_t field)
{ {
log_flow() ; log_flow() ;
uint32_t ifield ; char fmt[UINT32_FMT] ;
char const *str = 0 ;
switch(field) { switch(field) {
case SERVICE_ENUM_NAME: case SERVICE_ENUM_NAME:
ifield = res->name ; str = res->sa.s + res->name ;
break ; break ;
case SERVICE_ENUM_DESCRIPTION: case SERVICE_ENUM_DESCRIPTION:
ifield = res->description ; str = res->sa.s + res->description ;
break ; break ;
case SERVICE_ENUM_VERSION: case SERVICE_ENUM_VERSION:
ifield = res->version ; str = res->sa.s + res->version ;
break ; break ;
case SERVICE_ENUM_LOGGER: case SERVICE_ENUM_LOGGER:
ifield = res->logger ; str = res->sa.s + res->logger ;
break ; break ;
case SERVICE_ENUM_LOGREAL: case SERVICE_ENUM_LOGREAL:
ifield = res->logreal ; str = res->sa.s + res->logreal ;
break ; break ;
case SERVICE_ENUM_LOGASSOC: case SERVICE_ENUM_LOGASSOC:
ifield = res->logassoc ; str = res->sa.s + res->logassoc ;
break ; break ;
case SERVICE_ENUM_DSTLOG: case SERVICE_ENUM_DSTLOG:
ifield = res->dstlog ; str = res->sa.s + res->dstlog ;
break ; break ;
case SERVICE_ENUM_DEPENDS: case SERVICE_ENUM_DEPENDS:
ifield = res->depends ; str = res->sa.s + res->depends ;
break ; break ;
case SERVICE_ENUM_REQUIREDBY: case SERVICE_ENUM_REQUIREDBY:
ifield = res->requiredby ; str = res->sa.s + res->requiredby ;
break ; break ;
case SERVICE_ENUM_OPTSDEPS: case SERVICE_ENUM_OPTSDEPS:
ifield = res->optsdeps ; str = res->sa.s + res->optsdeps ;
break ; break ;
case SERVICE_ENUM_EXTDEPS: case SERVICE_ENUM_EXTDEPS:
ifield = res->extdeps ; str = res->sa.s + res->extdeps ;
break ; break ;
case SERVICE_ENUM_CONTENTS: case SERVICE_ENUM_CONTENTS:
ifield = res->contents ; str = res->sa.s + res->contents ;
break ; break ;
case SERVICE_ENUM_SRC: case SERVICE_ENUM_SRC:
ifield = res->src ; str = res->sa.s + res->src ;
break ; break ;
case SERVICE_ENUM_SRCONF: case SERVICE_ENUM_SRCONF:
ifield = res->srconf ; str = res->sa.s + res->srconf ;
break ; break ;
case SERVICE_ENUM_LIVE: case SERVICE_ENUM_LIVE:
ifield = res->live ; str = res->sa.s + res->live ;
break ; break ;
case SERVICE_ENUM_RUNAT: case SERVICE_ENUM_RUNAT:
ifield = res->runat ; str = res->sa.s + res->runat ;
break ; break ;
case SERVICE_ENUM_TREE: case SERVICE_ENUM_TREE:
ifield = res->tree ; str = res->sa.s + res->tree ;
break ; break ;
case SERVICE_ENUM_TREENAME: case SERVICE_ENUM_TREENAME:
ifield = res->treename ; str = res->sa.s + res->treename ;
break ; break ;
case SERVICE_ENUM_STATE: case SERVICE_ENUM_STATE:
ifield = res->state ; str = res->sa.s + res->state ;
break ; break ;
case SERVICE_ENUM_EXEC_RUN: case SERVICE_ENUM_EXEC_RUN:
ifield = res->exec_run ; str = res->sa.s + res->exec_run ;
break ; break ;
case SERVICE_ENUM_EXEC_LOG_RUN: case SERVICE_ENUM_EXEC_LOG_RUN:
ifield = res->exec_log_run ; str = res->sa.s + res->exec_log_run ;
break ; break ;
case SERVICE_ENUM_REAL_EXEC_RUN: case SERVICE_ENUM_REAL_EXEC_RUN:
ifield = res->real_exec_run ; str = res->sa.s + res->real_exec_run ;
break ; break ;
case SERVICE_ENUM_REAL_EXEC_LOG_RUN: case SERVICE_ENUM_REAL_EXEC_LOG_RUN:
ifield = res->real_exec_log_run ; str = res->sa.s + res->real_exec_log_run ;
break ; break ;
case SERVICE_ENUM_EXEC_FINISH: case SERVICE_ENUM_EXEC_FINISH:
ifield = res->exec_finish ; str = res->sa.s + res->exec_finish ;
break ; break ;
case SERVICE_ENUM_REAL_EXEC_FINISH: case SERVICE_ENUM_REAL_EXEC_FINISH:
ifield = res->real_exec_finish ; str = res->sa.s + res->real_exec_finish ;
break ; break ;
case SERVICE_ENUM_TYPE: case SERVICE_ENUM_TYPE:
ifield = res->type ; fmt[uint32_fmt(fmt,res->type)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_NDEPENDS: case SERVICE_ENUM_NDEPENDS:
ifield = res->ndepends ; fmt[uint32_fmt(fmt,res->ndepends)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_NREQUIREDBY: case SERVICE_ENUM_NREQUIREDBY:
ifield = res->nrequiredby ; fmt[uint32_fmt(fmt,res->nrequiredby)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_NOPTSDEPS: case SERVICE_ENUM_NOPTSDEPS:
ifield = res->noptsdeps ; fmt[uint32_fmt(fmt,res->noptsdeps)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_NEXTDEPS: case SERVICE_ENUM_NEXTDEPS:
ifield = res->nextdeps ; fmt[uint32_fmt(fmt,res->nextdeps)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_NCONTENTS: case SERVICE_ENUM_NCONTENTS:
ifield = res->ncontents ; fmt[uint32_fmt(fmt,res->ncontents)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_DOWN: case SERVICE_ENUM_DOWN:
ifield = res->down ; fmt[uint32_fmt(fmt,res->down)] = 0 ;
str = fmt ;
break ; break ;
case SERVICE_ENUM_DISEN: case SERVICE_ENUM_DISEN:
ifield = res->disen ; fmt[uint32_fmt(fmt,res->disen)] = 0 ;
str = fmt ;
break ; break ;
default: default:
return 0 ; return 0 ;
} }
if (!auto_stra(sa,res->sa.s + ifield)) if (!auto_stra(sa,str))
return 0 ; return 0 ;
return 1 ; return 1 ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment