| /* SPDX-License-Identifier: BSD-2-Clause */ |
| /* Copyright 1996-2009 The NASM Authors - All Rights Reserved */ |
| |
| #ifndef NASM_QUOTE_H |
| #define NASM_QUOTE_H |
| |
| #include "compiler.h" |
| |
| char *nasm_quote(const char *str, size_t *len); |
| char *nasm_quote_cstr(const char *str, size_t *len); |
| size_t nasm_unquote_anystr(char *str, char **endptr, |
| uint32_t badctl, char qstart); |
| size_t nasm_unquote(char *str, char **endptr); |
| size_t nasm_unquote_cstr(char *str, char **endptr); |
| char *nasm_skip_string(const char *str); |
| |
| /* Arguments used with nasm_quote_anystr() */ |
| |
| /* |
| * These are the only control characters when we produce a C string: |
| * BEL BS TAB ESC |
| */ |
| #define OKCTL ((1U << '\a') | (1U << '\b') | (1U << '\t') | (1U << 27)) |
| #define BADCTL (~(uint32_t)OKCTL) |
| |
| /* Initial quotation mark */ |
| #define STR_C '\"' |
| #define STR_NASM '`' |
| |
| #endif /* NASM_QUOTE_H */ |