summaryrefslogtreecommitdiff
path: root/pjlib-util
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-01-18 23:34:15 +0000
committerBenny Prijono <bennylp@teluu.com>2006-01-18 23:34:15 +0000
commit3a125b4c3b0d5aedb30d5ca8088f6f5b4b33caf5 (patch)
treedd519ac8366416811627ad3ddb9d0ab4e9004594 /pjlib-util
parentd192c694c8bf65798b042853a23932d08dc806a1 (diff)
Complete tsx layer selftest, implemented authentication framework
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@123 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib-util')
-rw-r--r--pjlib-util/include/pjlib-util/scanner.h7
-rw-r--r--pjlib-util/include/pjlib-util/xml.h23
-rw-r--r--pjlib-util/src/pjlib-util/scanner.c5
-rw-r--r--pjlib-util/src/pjlib-util/xml.c17
4 files changed, 46 insertions, 6 deletions
diff --git a/pjlib-util/include/pjlib-util/scanner.h b/pjlib-util/include/pjlib-util/scanner.h
index 59e9efe4..11c3a7b4 100644
--- a/pjlib-util/include/pjlib-util/scanner.h
+++ b/pjlib-util/include/pjlib-util/scanner.h
@@ -489,7 +489,8 @@ PJ_DECL(void) pj_scan_skip_line( pj_scanner *scanner );
* @param scanner The scanner.
* @param state Variable to store scanner's state.
*/
-PJ_DECL(void) pj_scan_save_state( pj_scanner *scanner, pj_scan_state *state);
+PJ_DECL(void) pj_scan_save_state( const pj_scanner *scanner,
+ pj_scan_state *state);
/**
@@ -501,7 +502,7 @@ PJ_DECL(void) pj_scan_save_state( pj_scanner *scanner, pj_scan_state *state);
* @param state State of the scanner.
*/
PJ_DECL(void) pj_scan_restore_state( pj_scanner *scanner,
- pj_scan_state *state);
+ pj_scan_state *state);
/**
* Get current column position.
@@ -510,7 +511,7 @@ PJ_DECL(void) pj_scan_restore_state( pj_scanner *scanner,
*
* @return The column position.
*/
-PJ_INLINE(int) pj_scan_get_col( pj_scanner *scanner )
+PJ_INLINE(int) pj_scan_get_col( const pj_scanner *scanner )
{
return scanner->curptr - scanner->start_line;
}
diff --git a/pjlib-util/include/pjlib-util/xml.h b/pjlib-util/include/pjlib-util/xml.h
index d54fc2d5..a2b1d9eb 100644
--- a/pjlib-util/include/pjlib-util/xml.h
+++ b/pjlib-util/include/pjlib-util/xml.h
@@ -97,6 +97,29 @@ PJ_DECL(int) pj_xml_print( const pj_xml_node *node, char *buf, pj_size_t len,
pj_bool_t include_prolog);
/**
+ * Create an empty node.
+ *
+ * @param pool Pool.
+ * @param name Node name.
+ *
+ * @return The new node.
+ */
+PJ_DECL(pj_xml_node*) pj_xml_node_new(pj_pool_t *pool, const pj_str_t *name);
+
+
+/**
+ * Create new XML attribute.
+ *
+ * @param pool Pool.
+ * @param name Attribute name.
+ * @param attr Attribute value.
+ *
+ * @return The new XML attribute.
+ */
+PJ_DECL(pj_xml_attr*) pj_xml_attr_new(pj_pool_t *pool, const pj_str_t *name,
+ const pj_str_t *value);
+
+/**
* Add node to another node.
*
* @param parent Parent node.
diff --git a/pjlib-util/src/pjlib-util/scanner.c b/pjlib-util/src/pjlib-util/scanner.c
index 802cc09e..0c6899ba 100644
--- a/pjlib-util/src/pjlib-util/scanner.c
+++ b/pjlib-util/src/pjlib-util/scanner.c
@@ -527,7 +527,8 @@ PJ_DEF(int) pj_scan_stricmp_alnum( pj_scanner *scanner, const char *s,
return strnicmp_alnum(scanner->curptr, s, len);
}
-PJ_DEF(void) pj_scan_save_state( pj_scanner *scanner, pj_scan_state *state)
+PJ_DEF(void) pj_scan_save_state( const pj_scanner *scanner,
+ pj_scan_state *state)
{
state->curptr = scanner->curptr;
state->line = scanner->line;
@@ -536,7 +537,7 @@ PJ_DEF(void) pj_scan_save_state( pj_scanner *scanner, pj_scan_state *state)
PJ_DEF(void) pj_scan_restore_state( pj_scanner *scanner,
- pj_scan_state *state)
+ pj_scan_state *state)
{
scanner->curptr = state->curptr;
scanner->line = state->line;
diff --git a/pjlib-util/src/pjlib-util/xml.c b/pjlib-util/src/pjlib-util/xml.c
index f502df0e..1269a328 100644
--- a/pjlib-util/src/pjlib-util/xml.c
+++ b/pjlib-util/src/pjlib-util/xml.c
@@ -37,7 +37,7 @@ static pj_xml_node *alloc_node( pj_pool_t *pool )
{
pj_xml_node *node;
- node = pj_pool_calloc(pool, 1, sizeof(pj_xml_node));
+ node = pj_pool_zalloc(pool, sizeof(pj_xml_node));
pj_list_init( &node->attr_head );
pj_list_init( &node->node_head );
@@ -313,6 +313,21 @@ PJ_DEF(int) pj_xml_print(const pj_xml_node *node, char *buf, pj_size_t len,
return printed;
}
+PJ_DEF(pj_xml_node*) pj_xml_node_new(pj_pool_t *pool, const pj_str_t *name)
+{
+ pj_xml_node *node = alloc_node(pool);
+ pj_strdup(pool, &node->name, name);
+ return node;
+}
+
+PJ_DEF(pj_xml_attr*) pj_xml_attr_new( pj_pool_t *pool, const pj_str_t *name,
+ const pj_str_t *value)
+{
+ pj_xml_attr *attr = alloc_attr(pool);
+ pj_strdup( pool, &attr->name, name);
+ pj_strdup( pool, &attr->value, value);
+ return attr;
+}
PJ_DEF(void) pj_xml_add_node( pj_xml_node *parent, pj_xml_node *node )
{