"%fe", "%ff"
};
-int htmlfd = STDOUT_FILENO;
+static int htmlfd = STDOUT_FILENO;
char *fmt(const char *format, ...)
{
void html_raw(const char *data, size_t size)
{
- write(htmlfd, data, size);
+ if (write(htmlfd, data, size) != size)
+ fprintf(stderr, "[html.c] html output truncated.\n");
}
void html(const char *txt)
{
- write(htmlfd, txt, strlen(txt));
+ html_raw(txt, strlen(txt));
}
void htmlf(const char *format, ...)
void html_txt(const char *txt)
{
const char *t = txt;
- while(t && *t){
+ while (t && *t) {
int c = *t;
if (c == '<' || c == '>' || c == '&') {
html_raw(txt, t - txt);
void html_ntxt(int len, const char *txt)
{
const char *t = txt;
- while(t && *t && len--){
+ while (t && *t && len--) {
int c = *t;
if (c == '<' || c == '>' || c == '&') {
html_raw(txt, t - txt);
void html_attr(const char *txt)
{
const char *t = txt;
- while(t && *t){
+ while (t && *t) {
int c = *t;
if (c == '<' || c == '>' || c == '\'' || c == '\"' || c == '&') {
html_raw(txt, t - txt);
void html_url_path(const char *txt)
{
const char *t = txt;
- while(t && *t){
+ while (t && *t) {
unsigned char c = *t;
const char *e = url_escape_table[c];
if (e && c != '+' && c != '&') {
void html_url_arg(const char *txt)
{
const char *t = txt;
- while(t && *t){
+ while (t && *t) {
unsigned char c = *t;
const char *e = url_escape_table[c];
if (c == ' ')
filename, strerror(errno), errno);
return -1;
}
- while((len = fread(buf, 1, 4096, f)) > 0)
+ while ((len = fread(buf, 1, 4096, f)) > 0)
html_raw(buf, len);
fclose(f);
return 0;
}
-int hextoint(char c)
+static int hextoint(char c)
{
if (c >= 'a' && c <= 'f')
return 10 + c - 'a';
return -1;
}
-char *convert_query_hexchar(char *txt)
+static char *convert_query_hexchar(char *txt)
{
int d1, d2, n;
n = strlen(txt);
printf("Out of memory\n");
exit(1);
}
- while((c=*t) != '\0') {
+ while ((c=*t) != '\0') {
if (c == '=') {
*t = '\0';
value = t + 1;