From: Ranjani Sridharan Date: Sat, 27 Mar 2021 19:33:33 +0000 (-0700) Subject: topology: pre-processor: Add debug print helpers X-Git-Tag: v1.2.5~32 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=d508b1682a1b6805476c64cfc9ffce26d904f314;p=alsa-utils.git topology: pre-processor: Add debug print helpers Add a couple of helper functions to print debug messages and the generated config. Signed-off-by: Ranjani Sridharan Signed-off-by: Jaroslav Kysela --- diff --git a/topology/Makefile.am b/topology/Makefile.am index 47f32f0..d7f7b09 100644 --- a/topology/Makefile.am +++ b/topology/Makefile.am @@ -10,7 +10,7 @@ endif alsatplg_SOURCES = topology.c pre-processor.c -noinst_HEADERS = topology.h +noinst_HEADERS = topology.h pre-processor.h AM_CPPFLAGS = \ -Wall -I$(top_srcdir)/include diff --git a/topology/pre-processor.c b/topology/pre-processor.c index 212adfe..5ddd4f9 100644 --- a/topology/pre-processor.c +++ b/topology/pre-processor.c @@ -17,6 +17,8 @@ The full GNU General Public License is included in this distribution in the file called LICENSE.GPL. */ + +#include #include #include #include @@ -27,6 +29,29 @@ #include #include "gettext.h" #include "topology.h" +#include "pre-processor.h" + +#ifdef TPLG_DEBUG +void tplg_pp_debug(char *fmt, ...) +{ + char msg[DEBUG_MAX_LENGTH]; + va_list va; + + va_start(va, fmt); + vsnprintf(msg, DEBUG_MAX_LENGTH, fmt, va); + va_end(va); + + fprintf(stdout, "%s\n", msg); +} + +void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg) +{ + snd_config_save(cfg, tplg_pp->dbg_output); +} +#else +void tplg_pp_debug(char *fmt, ...) {} +void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg){} +#endif static int pre_process_config(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg) { diff --git a/topology/pre-processor.h b/topology/pre-processor.h new file mode 100644 index 0000000..9a7b6f1 --- /dev/null +++ b/topology/pre-processor.h @@ -0,0 +1,28 @@ +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __PRE_PROCESSOR_H +#define __PRE_PROCESSOR_H + +#include +#include "topology.h" + +#define DEBUG_MAX_LENGTH 256 + +/* debug helpers */ +void tplg_pp_debug(char *fmt, ...); +void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg); +#endif