diff --git a/swad_HTML.c b/swad_HTML.c
index d455d748..87b6951a 100644
--- a/swad_HTML.c
+++ b/swad_HTML.c
@@ -63,6 +63,7 @@ static unsigned HTM_DIV_NestingLevel = 0;
static unsigned HTM_UL_NestingLevel = 0;
static unsigned HTM_LI_NestingLevel = 0;
static unsigned HTM_A_NestingLevel = 0;
+static unsigned HTM_TEXTAREA_NestingLevel = 0;
/*****************************************************************************/
/***************************** Private prototypes ****************************/
@@ -84,6 +85,8 @@ static void HTM_LI_BeginWithoutAttr (void);
static void HTM_A_BeginWithoutAttr (void);
+static void HTM_TEXTAREA_BeginWithoutAttr (void);
+
/*****************************************************************************/
/******************************* Start/end table *****************************/
/*****************************************************************************/
@@ -704,6 +707,58 @@ void HTM_A_End (void)
HTM_A_NestingLevel--;
}
+/*****************************************************************************/
+/********************************* Text areas ********************************/
+/*****************************************************************************/
+
+void HTM_TEXTAREA_Begin (const char *fmt,...)
+ {
+ va_list ap;
+ int NumBytesPrinted;
+ char *Attr;
+
+ if (fmt)
+ {
+ if (fmt[0])
+ {
+ va_start (ap,fmt);
+ NumBytesPrinted = vasprintf (&Attr,fmt,ap);
+ va_end (ap);
+
+ if (NumBytesPrinted < 0) // If memory allocation wasn't possible,
+ // or some other error occurs,
+ // vasprintf will return -1
+ Lay_NotEnoughMemoryExit ();
+
+ /***** Print HTML *****/
+ fprintf (Gbl.F.Out,"