php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
pseudo.c
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020-2022 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#include "lexbor/css/css.h"
12
13
16{
17 const lexbor_shs_entry_t *entry;
18
19 entry = lexbor_shs_entry_get_lower_static(lxb_css_selectors_pseudo_class_shs,
20 name, length);
21 if (entry == NULL) {
22 return NULL;
23 }
24
25 return entry->value;
26}
27
30 size_t length)
31{
32 const lexbor_shs_entry_t *entry;
33
34 entry = lexbor_shs_entry_get_lower_static(lxb_css_selectors_pseudo_class_function_shs,
35 name, length);
36 if (entry == NULL) {
37 return NULL;
38 }
39
40 return entry->value;
41}
42
45{
46 return &lxb_css_selectors_pseudo_data_pseudo_class_function[id];
47}
48
51{
52 const lexbor_shs_entry_t *entry;
53
54 entry = lexbor_shs_entry_get_lower_static(lxb_css_selectors_pseudo_element_shs,
55 name, length);
56 if (entry == NULL) {
57 return NULL;
58 }
59
60 return entry->value;
61}
62
65 size_t length)
66{
67 const lexbor_shs_entry_t *entry;
68
69 entry = lexbor_shs_entry_get_lower_static(lxb_css_selectors_pseudo_element_function_shs,
70 name, length);
71 if (entry == NULL) {
72 return NULL;
73 }
74
75 return entry->value;
76}
77
80{
81 return &lxb_css_selectors_pseudo_data_pseudo_element_function[id];
82}
83
85lxb_css_selector_pseudo_function_by_id(unsigned id, bool is_class)
86{
87 if (is_class) {
88 return &lxb_css_selectors_pseudo_data_pseudo_class_function[id];
89 }
90
91 return &lxb_css_selectors_pseudo_data_pseudo_element_function[id];
92}
93
94bool
96{
97 if (is_class) {
98 return lxb_css_selectors_pseudo_data_pseudo_class_function[id].empty;
99 }
100
101 return lxb_css_selectors_pseudo_data_pseudo_element_function[id].empty;
102}
#define NULL
Definition gdcache.h:45
const lxb_css_selectors_pseudo_data_func_t * lxb_css_selector_pseudo_class_function_by_id(unsigned id)
Definition pseudo.c:44
const lxb_css_selectors_pseudo_data_func_t * lxb_css_selector_pseudo_element_function_by_id(unsigned id)
Definition pseudo.c:79
bool lxb_css_selector_pseudo_function_can_empty(unsigned id, bool is_class)
Definition pseudo.c:95
const lxb_css_selectors_pseudo_data_func_t * lxb_css_selector_pseudo_class_function_by_name(const lxb_char_t *name, size_t length)
Definition pseudo.c:29
const lxb_css_selectors_pseudo_data_func_t * lxb_css_selector_pseudo_function_by_id(unsigned id, bool is_class)
Definition pseudo.c:85
const lxb_css_selectors_pseudo_data_func_t * lxb_css_selector_pseudo_element_function_by_name(const lxb_char_t *name, size_t length)
Definition pseudo.c:64
const lxb_css_selectors_pseudo_data_t * lxb_css_selector_pseudo_class_by_name(const lxb_char_t *name, size_t length)
Definition pseudo.c:15
const lxb_css_selectors_pseudo_data_t * lxb_css_selector_pseudo_element_by_name(const lxb_char_t *name, size_t length)
Definition pseudo.c:50
const lexbor_shs_entry_t * lexbor_shs_entry_get_lower_static(const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
Definition shs.c:63
Definition shs.h:19
void * value
Definition shs.h:21
unsigned char lxb_char_t
Definition types.h:27
zend_string * name