22 |
#ifndef QUOTEARG_H_ |
#ifndef QUOTEARG_H_ |
23 |
# define QUOTEARG_H_ 1 |
# define QUOTEARG_H_ 1 |
24 |
|
|
25 |
|
# include <stddef.h> |
26 |
|
|
27 |
/* Basic quoting styles. */ |
/* Basic quoting styles. */ |
28 |
enum quoting_style |
enum quoting_style |
29 |
{ |
{ |
47 |
|
|
48 |
struct quoting_options; |
struct quoting_options; |
49 |
|
|
|
# ifndef PARAMS |
|
|
# if defined PROTOTYPES || defined __STDC__ |
|
|
# define PARAMS(Args) Args |
|
|
# else |
|
|
# define PARAMS(Args) () |
|
|
# endif |
|
|
# endif |
|
|
|
|
50 |
/* The functions listed below set and use a hidden variable |
/* The functions listed below set and use a hidden variable |
51 |
that contains the default quoting style options. */ |
that contains the default quoting style options. */ |
52 |
|
|
53 |
/* Allocate a new set of quoting options, with contents initially identical |
/* Allocate a new set of quoting options, with contents initially identical |
54 |
to O if O is not null, or to the default if O is null. |
to O if O is not null, or to the default if O is null. |
55 |
It is the caller's responsibility to free the result. */ |
It is the caller's responsibility to free the result. */ |
56 |
struct quoting_options *clone_quoting_options |
struct quoting_options *clone_quoting_options (struct quoting_options *o); |
|
PARAMS ((struct quoting_options *o)); |
|
57 |
|
|
58 |
/* Get the value of O's quoting style. If O is null, use the default. */ |
/* Get the value of O's quoting style. If O is null, use the default. */ |
59 |
enum quoting_style get_quoting_style PARAMS ((struct quoting_options *o)); |
enum quoting_style get_quoting_style (struct quoting_options *o); |
60 |
|
|
61 |
/* In O (or in the default if O is null), |
/* In O (or in the default if O is null), |
62 |
set the value of the quoting style to S. */ |
set the value of the quoting style to S. */ |
63 |
void set_quoting_style PARAMS ((struct quoting_options *o, |
void set_quoting_style (struct quoting_options *o, enum quoting_style s); |
|
enum quoting_style s)); |
|
64 |
|
|
65 |
/* In O (or in the default if O is null), |
/* In O (or in the default if O is null), |
66 |
set the value of the quoting options for character C to I. |
set the value of the quoting options for character C to I. |
67 |
Return the old value. Currently, the only values defined for I are |
Return the old value. Currently, the only values defined for I are |
68 |
0 (the default) and 1 (which means to quote the character even if |
0 (the default) and 1 (which means to quote the character even if |
69 |
it would not otherwise be quoted). */ |
it would not otherwise be quoted). */ |
70 |
int set_char_quoting PARAMS ((struct quoting_options *o, char c, int i)); |
int set_char_quoting (struct quoting_options *o, char c, int i); |
71 |
|
|
72 |
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of |
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of |
73 |
argument ARG (of size ARGSIZE), using O to control quoting. |
argument ARG (of size ARGSIZE), using O to control quoting. |
77 |
If BUFFERSIZE is too small to store the output string, return the |
If BUFFERSIZE is too small to store the output string, return the |
78 |
value that would have been returned had BUFFERSIZE been large enough. |
value that would have been returned had BUFFERSIZE been large enough. |
79 |
If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */ |
If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */ |
80 |
size_t quotearg_buffer PARAMS ((char *buffer, size_t buffersize, |
size_t quotearg_buffer (char *buffer, size_t buffersize, |
81 |
char const *arg, size_t argsize, |
char const *arg, size_t argsize, |
82 |
struct quoting_options const *o)); |
struct quoting_options const *o); |
83 |
|
|
84 |
/* Use storage slot N to return a quoted version of the string ARG. |
/* Use storage slot N to return a quoted version of the string ARG. |
85 |
Use the default quoting options. |
Use the default quoting options. |
86 |
The returned value points to static storage that can be |
The returned value points to static storage that can be |
87 |
reused by the next call to this function with the same value of N. |
reused by the next call to this function with the same value of N. |
88 |
N must be nonnegative. */ |
N must be nonnegative. */ |
89 |
char *quotearg_n PARAMS ((int n, char const *arg)); |
char *quotearg_n (int n, char const *arg); |
90 |
|
|
91 |
/* Equivalent to quotearg_n (0, ARG). */ |
/* Equivalent to quotearg_n (0, ARG). */ |
92 |
char *quotearg PARAMS ((char const *arg)); |
char *quotearg (char const *arg); |
93 |
|
|
94 |
/* Use style S and storage slot N to return a quoted version of the string ARG. |
/* Use style S and storage slot N to return a quoted version of the string ARG. |
95 |
This is like quotearg_n (N, ARG), except that it uses S with no other |
This is like quotearg_n (N, ARG), except that it uses S with no other |
96 |
options to specify the quoting method. */ |
options to specify the quoting method. */ |
97 |
char *quotearg_n_style PARAMS ((int n, enum quoting_style s, char const *arg)); |
char *quotearg_n_style (int n, enum quoting_style s, char const *arg); |
98 |
|
|
99 |
/* Use style S and storage slot N to return a quoted version of the |
/* Use style S and storage slot N to return a quoted version of the |
100 |
argument ARG of size ARGSIZE. This is like quotearg_n_style |
argument ARG of size ARGSIZE. This is like quotearg_n_style |
101 |
(N, S, ARG), except it can quote null bytes. */ |
(N, S, ARG), except it can quote null bytes. */ |
102 |
char *quotearg_n_style_mem PARAMS ((int n, enum quoting_style s, |
char *quotearg_n_style_mem (int n, enum quoting_style s, |
103 |
char const *arg, size_t argsize)); |
char const *arg, size_t argsize); |
104 |
|
|
105 |
/* Equivalent to quotearg_n_style (0, S, ARG). */ |
/* Equivalent to quotearg_n_style (0, S, ARG). */ |
106 |
char *quotearg_style PARAMS ((enum quoting_style s, char const *arg)); |
char *quotearg_style (enum quoting_style s, char const *arg); |
107 |
|
|
108 |
/* Like quotearg (ARG), except also quote any instances of CH. */ |
/* Like quotearg (ARG), except also quote any instances of CH. */ |
109 |
char *quotearg_char PARAMS ((char const *arg, char ch)); |
char *quotearg_char (char const *arg, char ch); |
110 |
|
|
111 |
/* Equivalent to quotearg_char (ARG, ':'). */ |
/* Equivalent to quotearg_char (ARG, ':'). */ |
112 |
char *quotearg_colon PARAMS ((char const *arg)); |
char *quotearg_colon (char const *arg); |
113 |
|
|
114 |
#endif /* !QUOTEARG_H_ */ |
#endif /* !QUOTEARG_H_ */ |