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>
このコミットが含まれているのは:
Mark Lodato 2010-02-08 23:04:41 -05:00
コミット 8aab27f24d
2個のファイルの変更26行の追加26行の削除

34
html.c
ファイルの表示

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

18
html.h
ファイルの表示

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