summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-10-28 12:08:45 +0100
committerLars Hjemli <hjemli@gmail.com>2007-10-28 12:08:45 +0100
commit6ec5f36f279a85f59db2851ab476d9acd0015770 (patch)
tree18aff69bb319bbbf7427a1f401d86063ee850824
parent0c8dd9c4bcc7a1a7a49f4eca1f3eb869d0995ea2 (diff)
Add html_option() function
This is a generic function used to output html "option" tags.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h1
-rw-r--r--html.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index f8f0316..0baa679 100644
--- a/cgit.h
+++ b/cgit.h
@@ -204,6 +204,7 @@ extern void html_txt(char *txt);
 extern void html_ntxt(int len, char *txt);
 extern void html_attr(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_link_close(void);
 extern void html_filemode(unsigned short mode);
diff --git a/html.c b/html.c
index 76fa6c4..6c9cc8b 100644
--- a/html.c
+++ b/html.c
@@ -126,6 +126,18 @@ void html_hidden(char *name, char *value)
 	html("'/>");
 }
 
+void html_option(char *value, char *text, char *selected_value)
+{
+	html("<option value='");
+	html_attr(value);
+	html("'");
+	if (selected_value && !strcmp(selected_value, value))
+		html(" selected");
+	html(">");
+	html_txt(text);
+	html("</option>\n");
+}
+
 void html_link_open(char *url, char *title, char *class)
 {
 	html("<a href='");