html: make all strings 'const char *'

None of the html_* functions modify their argument, so they can all be
'const char *' instead of a simple 'char *'.  This removes the need to
cast (or copy) when trying to print a const string.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
This commit is contained in:
Mark Lodato 2010-02-08 23:04:41 -05:00
parent 547a64fbd6
commit 8aab27f24d
2 changed files with 26 additions and 26 deletions

34
html.c
View File

@ -63,9 +63,9 @@ void html_status(int code, const char *msg, int more_headers)
html("\n");
}
void html_txt(char *txt)
void html_txt(const char *txt)
{
char *t = txt;
const char *t = txt;
while(t && *t){
int c = *t;
if (c=='<' || c=='>' || c=='&') {
@ -84,9 +84,9 @@ void html_txt(char *txt)
html(txt);
}
void html_ntxt(int len, char *txt)
void html_ntxt(int len, const char *txt)
{
char *t = txt;
const char *t = txt;
while(t && *t && len--){
int c = *t;
if (c=='<' || c=='>' || c=='&') {
@ -107,9 +107,9 @@ void html_ntxt(int len, char *txt)
html("...");
}
void html_attr(char *txt)
void html_attr(const char *txt)
{
char *t = txt;
const char *t = txt;
while(t && *t){
int c = *t;
if (c=='<' || c=='>' || c=='\'' || c=='\"') {
@ -130,9 +130,9 @@ void html_attr(char *txt)
html(txt);
}
void html_url_path(char *txt)
void html_url_path(const char *txt)
{
char *t = txt;
const char *t = txt;
while(t && *t){
int c = *t;
if (c=='"' || c=='#' || c=='\'' || c=='?') {
@ -146,9 +146,9 @@ void html_url_path(char *txt)
html(txt);
}
void html_url_arg(char *txt)
void html_url_arg(const char *txt)
{
char *t = txt;
const char *t = txt;
while(t && *t){
int c = *t;
if (c=='"' || c=='#' || c=='%' || c=='&' || c=='\'' || c=='+' || c=='?') {
@ -162,7 +162,7 @@ void html_url_arg(char *txt)
html(txt);
}
void html_hidden(char *name, char *value)
void html_hidden(const char *name, const char *value)
{
html("<input type='hidden' name='");
html_attr(name);
@ -171,7 +171,7 @@ void html_hidden(char *name, char *value)
html("'/>");
}
void html_option(char *value, char *text, char *selected_value)
void html_option(const char *value, const char *text, const char *selected_value)
{
html("<option value='");
html_attr(value);
@ -183,7 +183,7 @@ void html_option(char *value, char *text, char *selected_value)
html("</option>\n");
}
void html_link_open(char *url, char *title, char *class)
void html_link_open(const char *url, const char *title, const char *class)
{
html("<a href='");
html_attr(url);
@ -257,14 +257,14 @@ char *convert_query_hexchar(char *txt)
}
}
int http_parse_querystring(char *txt, void (*fn)(const char *name, const char *value))
int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const char *value))
{
char *t, *value = NULL, c;
char *t, *txt, *value = NULL, c;
if (!txt)
if (!txt_)
return 0;
t = txt = strdup(txt);
t = txt = strdup(txt_);
if (t == NULL) {
printf("Out of memory\n");
exit(1);

18
html.h
View File

@ -7,18 +7,18 @@ extern void html_raw(const char *txt, size_t size);
extern void html(const char *txt);
extern void htmlf(const char *format,...);
extern void html_status(int code, const char *msg, int more_headers);
extern void html_txt(char *txt);
extern void html_ntxt(int len, char *txt);
extern void html_attr(char *txt);
extern void html_url_path(char *txt);
extern void html_url_arg(char *txt);
extern void html_hidden(char *name, char *value);
extern void html_option(char *value, char *text, char *selected_value);
extern void html_link_open(char *url, char *title, char *class);
extern void html_txt(const char *txt);
extern void html_ntxt(int len, const char *txt);
extern void html_attr(const char *txt);
extern void html_url_path(const char *txt);
extern void html_url_arg(const char *txt);
extern void html_hidden(const char *name, const char *value);
extern void html_option(const char *value, const char *text, const char *selected_value);
extern void html_link_open(const char *url, const char *title, const char *class);
extern void html_link_close(void);
extern void html_fileperm(unsigned short mode);
extern int html_include(const char *filename);
extern int http_parse_querystring(char *txt, void (*fn)(const char *name, const char *value));
extern int http_parse_querystring(const char *txt, void (*fn)(const char *name, const char *value));
#endif /* HTML_H */