From c572b8e7a250ecfba7836c55bb5eda4c9473280a Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 4 Apr 2009 20:09:08 +0200 Subject: New block parser --- src/replace-table.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/replace-table.h (limited to 'src/replace-table.h') diff --git a/src/replace-table.h b/src/replace-table.h new file mode 100644 index 0000000..5c2b35e --- /dev/null +++ b/src/replace-table.h @@ -0,0 +1,58 @@ +/* Cataract - Static web photo gallery generator + * Copyright (C) 2009 Tomas Bzatek + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or any later version. + * + * This program 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 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + + +typedef GHashTable ReplaceTable; + + + + +ReplaceTable *replace_table_new (); + +void replace_table_free (ReplaceTable *table); + + +/* + * replace_table_add_key: add tag/value pair to replace + * + * tag, value will be referenced inside + * + */ +void replace_table_add_key (ReplaceTable *table, const gchar *tag, const gchar *value); +void replace_table_add_key_int (ReplaceTable *table, const gchar *tag, gint value); +void replace_table_add_key_printf (ReplaceTable *table, const gchar *tag, const gchar *format, ...) G_GNUC_PRINTF (3, 4); + +/* + * replace_table_process: process buffer and replace all tags filled in the replace table + * + * - reallocates source buffer + * + */ +void replace_table_process (gchar **buffer, ReplaceTable *table); + + +/* + * adjust_tags_normal: adjust string for normal HTML use + * adjust_tags_parameter: adjust string for use as tag parameter value + * - both funtions return newly allocated string + */ +void adjust_tags_normal (char **str); +void adjust_tags_parameter (char **str); + -- cgit v1.2.3