From 64e271dce2e5aca07abdca8e335b3f7cb9ba1114 Mon Sep 17 00:00:00 2001 From: "Felix (xq) Queißner" Date: Sun, 7 Mar 2021 11:58:37 +0100 Subject: Starts to implement new HTML renderer based on gumbo. Everything is a bit borked and only trivial documents work correctly. --- lib/gumbo-parser/attribute.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lib/gumbo-parser/attribute.c (limited to 'lib/gumbo-parser/attribute.c') diff --git a/lib/gumbo-parser/attribute.c b/lib/gumbo-parser/attribute.c new file mode 100644 index 0000000..234927a --- /dev/null +++ b/lib/gumbo-parser/attribute.c @@ -0,0 +1,44 @@ +// Copyright 2010 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: jdtang@google.com (Jonathan Tang) + +#include "attribute.h" + +#include +#include +#include +#include + +#include "util.h" + +struct GumboInternalParser; + +GumboAttribute* gumbo_get_attribute( + const GumboVector* attributes, const char* name) { + for (unsigned int i = 0; i < attributes->length; ++i) { + GumboAttribute* attr = attributes->data[i]; + if (!strcasecmp(attr->name, name)) { + return attr; + } + } + return NULL; +} + +void gumbo_destroy_attribute( + struct GumboInternalParser* parser, GumboAttribute* attribute) { + gumbo_parser_deallocate(parser, (void*) attribute->name); + gumbo_parser_deallocate(parser, (void*) attribute->value); + gumbo_parser_deallocate(parser, (void*) attribute); +} -- cgit v1.2.3