[make-initrd] [PATCH 1/3] Reimplement ueventd

Alexey Gladkov legion at altlinux.ru
Mon May 15 12:12:24 MSK 2023


On Mon, May 15, 2023 at 03:47:03AM +0300, Leonid Krivoshein wrote:
> 
> On 5/4/23 16:42, Alexey Gladkov wrote:
> > [...]
> > diff --git a/datasrc/ueventd/logging.c b/datasrc/ueventd/logging.c
> > new file mode 100644
> > index 00000000..671f6814
> > --- /dev/null
> > +++ b/datasrc/ueventd/logging.c
> > @@ -0,0 +1,63 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> > +
> > +#include <stdio.h>
> > +#include <stdarg.h>
> > +#include <strings.h>
> > +#include <errno.h>
> > +#include <time.h>
> > +
> > +#include "ueventd.h"
> > +
> > +#define default_logfile "/var/log/ueventd.log"
> > +
> > +int log_priority = LOG_INFO;
> 
> Переменная не объявлена здесь как static и она никак не объявлена в 
> заголовочном файле. Просто, на всякий случай.

Я и не хотел её объявлять в хэдере. Для её изменения есть logging_init.

> 
> > +
> > +int logging_level(const char *name)
> > +{
> > +	if (!strcasecmp(name, "debug"))   return LOG_DEBUG;
> > +	if (!strcasecmp(name, "info"))    return LOG_INFO;
> > +	if (!strcasecmp(name, "warning")) return LOG_WARNING;
> > +	if (!strcasecmp(name, "error"))   return LOG_ERR;
> > +	return log_priority;
> 
> Понятно, что такая обработка, видимо писавшаяся под парсер в ueventd.c:
> 
> loglevel = logging_level(optarg);
> 
> упрощает код. Но тогда его правильней сделать локальной частью 
> ueventd.c, как мне кажется. Потому что сейчас любое невалидное значение 
> name просто не меняет текущего значения log_priority, а я не уверен, что 
> это правильно. Если же функция остаётся в logging.c с таким дефолтом, то 
> вроде как анализ "info" кажется лишним.

В новом коде весь logging вынесен в библиотеку для переиспользования.
Наличие общей функции преобразующей текстовое представление в loglevel
кажется мне обоснованным.

> 
> > +}
> > +
> > [...]
> 
> 
> -- 
> WBR, Leonid Krivoshein.
> _______________________________________________
> Make-initrd mailing list
> Make-initrd at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/make-initrd

-- 
Rgrds, legion



More information about the Make-initrd mailing list