Thu Oct 8 21:56:26 2009

Asterisk developer's documentation


func_uri.c File Reference

URI encoding / decoding. More...

#include "asterisk.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/logger.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"

Include dependency graph for func_uri.c:

Go to the source code of this file.

Functions

 AST_MODULE_INFO_STANDARD (ASTERISK_GPL_KEY,"URI encode/decode dialplan functions")
static int load_module (void)
static int unload_module (void)
static int uridecode (struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
 uridecode: Decode URI according to RFC 2396
static int uriencode (struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
 uriencode: Encode URL according to RFC 2396

Variables

static struct ast_custom_function urldecode_function
static struct ast_custom_function urlencode_function


Detailed Description

URI encoding / decoding.

Author:
Olle E. Johansson <oej@edvina.net>
Note:
For now this code only supports 8 bit characters, not unicode, which we ultimately will need to support.

Definition in file func_uri.c.


Function Documentation

AST_MODULE_INFO_STANDARD ( ASTERISK_GPL_KEY  ,
"URI encode/decode dialplan functions"   
)

static int load_module ( void   )  [static]

Definition at line 95 of file func_uri.c.

References ast_custom_function_register().

static int unload_module ( void   )  [static]

static int uridecode ( struct ast_channel chan,
char *  cmd,
char *  data,
char *  buf,
size_t  len 
) [static]

uridecode: Decode URI according to RFC 2396

Definition at line 61 of file func_uri.c.

References ast_log(), ast_strlen_zero(), ast_uri_decode(), and LOG_WARNING.

00063 {
00064    if (ast_strlen_zero(data)) {
00065       ast_log(LOG_WARNING, "Syntax: URIDECODE(<data>) - missing argument!\n");
00066       return -1;
00067    }
00068 
00069    ast_copy_string(buf, data, len);
00070    ast_uri_decode(buf);
00071 
00072    return 0;
00073 }

static int uriencode ( struct ast_channel chan,
char *  cmd,
char *  data,
char *  buf,
size_t  len 
) [static]

uriencode: Encode URL according to RFC 2396

Definition at line 47 of file func_uri.c.

References ast_log(), ast_strlen_zero(), ast_uri_encode(), and LOG_WARNING.

00049 {
00050    if (ast_strlen_zero(data)) {
00051       ast_log(LOG_WARNING, "Syntax: URIENCODE(<data>) - missing argument!\n");
00052       return -1;
00053    }
00054 
00055    ast_uri_encode(data, buf, len, 1);
00056 
00057    return 0;
00058 }


Variable Documentation

Definition at line 75 of file func_uri.c.

Definition at line 82 of file func_uri.c.


Generated on Thu Oct 8 21:56:26 2009 for Asterisk - the Open Source PBX by  doxygen 1.5.6