*
* LTTng filter IR validate string
*
- * Copyright 2014 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License, version 2.1 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: LGPL-2.1-only
*
- * 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 Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdio.h>
if (node->data_type == IR_DATA_STRING) {
const char *str;
- assert(node->u.load.u.string);
- str = node->u.load.u.string;
+ assert(node->u.load.u.string.value);
+ str = node->u.load.u.string.value;
- /*
- * Make sure that if a non-escaped wildcard is
- * present, it is the last character of the string.
- */
for (;;) {
enum parse_char_result res;
str++;
switch (res) {
- case PARSE_CHAR_WILDCARD:
- {
- if (*str) {
- /*
- * Found a wildcard followed by non-null
- * character; unsupported.
- */
- ret = -EINVAL;
- fprintf(stderr,
- "Wildcards may only be used as the last character of a string in a filter.\n");
- goto end_load;
- }
- break;
- }
case PARSE_CHAR_UNKNOWN:
ret = -EINVAL;
fprintf(stderr,