[svn-commits] branch murf/AEL2 - r8416 in /team/murf/AEL2: ./ apps/ channels/ codecs/ codec...

svn-commits at lists.digium.com svn-commits at lists.digium.com
Sat Jan 21 18:25:21 MST 2006


Author: murf
Date: Sat Jan 21 19:24:51 2006
New Revision: 8416

URL: http://svn.digium.com/view/asterisk?rev=8416&view=rev
Log:
Merged revisions 8336,8338,8345-8346,8348,8356-8357,8359-8362,8368,8370-8372,8378-8381,8387,8393,8401-8404,8407-8411,8413 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r8336 | oej | 2006-01-20 07:32:30 -0700 (Fri, 20 Jan 2006) | 4 lines

- Add DOC file about caller ID presentation values
- Add callingpres to sip.conf
- Add reference to README.callingpres from zapata.conf

................
r8338 | kpfleming | 2006-01-20 10:27:51 -0700 (Fri, 20 Jan 2006) | 2 lines

eliminate compiler warnings from recent const-ification

................
r8345 | mattf | 2006-01-20 11:17:46 -0700 (Fri, 20 Jan 2006) | 2 lines

Update config.  Apprently default doesn't always work now.

................
r8346 | mattf | 2006-01-20 11:18:40 -0700 (Fri, 20 Jan 2006) | 2 lines

Change chan_alsa to default open the first sound card device

................
r8348 | russell | 2006-01-20 11:40:24 -0700 (Fri, 20 Jan 2006) | 10 lines

Merged revisions 8347 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r8347 | russell | 2006-01-20 13:34:42 -0500 (Fri, 20 Jan 2006) | 2 lines

fix invalid value of prev_q (issue #6302)

........

................
r8356 | russell | 2006-01-20 12:24:42 -0700 (Fri, 20 Jan 2006) | 11 lines

- move ast_strdupa from channel.h to utils.h
- attempt to log an error message if the __builtin_alloca inside of ast_strdupa
  fails.
- document the fact that it is known and intended behavior for ast_strdupa to
  cause Asterisk to crash if the alloca fails
- use __builtin_expect when checking for allocation failure in all of the
  allocation wrappers

New Janitor Project!  Anywhere that we check for a successful allocation after
a call to ast_strdupa is unnecessary and should be removed.

................
r8357 | mattf | 2006-01-20 14:36:33 -0700 (Fri, 20 Jan 2006) | 2 lines

Fix for formats so they give better output on failure conditions. (#6141)

................
r8359 | mattf | 2006-01-20 16:19:49 -0700 (Fri, 20 Jan 2006) | 2 lines

Fix comments in sip.conf (#6134)

................
r8360 | russell | 2006-01-20 16:23:00 -0700 (Fri, 20 Jan 2006) | 2 lines

formatting and doxygen fixes (issue #6300)

................
r8361 | mattf | 2006-01-20 16:28:37 -0700 (Fri, 20 Jan 2006) | 2 lines

fix for codec_gsm on ia64 (#6294)

................
r8362 | russell | 2006-01-20 17:42:25 -0700 (Fri, 20 Jan 2006) | 2 lines

remove some useless checks after calls to ast_strdupa

................
r8368 | russell | 2006-01-20 20:09:01 -0700 (Fri, 20 Jan 2006) | 2 lines

remove optimization where its benefits are negligible

................
r8370 | tilghman | 2006-01-20 22:05:45 -0700 (Fri, 20 Jan 2006) | 2 lines

Bug 6096 - callerid_parse cleanup

................
r8371 | tilghman | 2006-01-20 22:15:56 -0700 (Fri, 20 Jan 2006) | 2 lines

Bug 5515 - Devicestate and API documentation update

................
r8372 | tilghman | 2006-01-20 22:22:18 -0700 (Fri, 20 Jan 2006) | 2 lines

Bug 4872 - Make Asterisk paths available to AGIs via environmental variables

................
r8378 | russell | 2006-01-21 01:01:24 -0700 (Sat, 21 Jan 2006) | 2 lines

remove some useless checks of the result of ast_strdupa

................
r8379 | russell | 2006-01-21 01:13:12 -0700 (Sat, 21 Jan 2006) | 2 lines

remove lots of useless checks of the result of ast_strdupa

................
r8380 | russell | 2006-01-21 01:23:57 -0700 (Sat, 21 Jan 2006) | 2 lines

remove useless checks of the result of ast_strdupa

................
r8381 | russell | 2006-01-21 01:45:39 -0700 (Sat, 21 Jan 2006) | 2 lines

conversions to use allocation wrappers (issue #6277)

................
r8387 | russell | 2006-01-21 10:50:04 -0700 (Sat, 21 Jan 2006) | 3 lines

revert my pass through the tree to remove checks of the result of ast_strdupa
(revisions 8378 through 8381)

................
r8393 | russell | 2006-01-21 11:11:40 -0700 (Sat, 21 Jan 2006) | 3 lines

don't do the memcpy inside of ast_strdupa if we know that __builtin_alloca 
was not successful

................
r8401 | russell | 2006-01-21 13:20:06 -0700 (Sat, 21 Jan 2006) | 3 lines

finish reverting my pass through the tree to remove checks of the result of
ast_strdupa, this one is revision 8362

................
r8402 | tilghman | 2006-01-21 13:32:17 -0700 (Sat, 21 Jan 2006) | 2 lines

Bug 5936 - Cannot AddQueueMember on realtime queue, if queue not yet loaded (different fix than 1.2)

................
r8403 | russell | 2006-01-21 13:57:06 -0700 (Sat, 21 Jan 2006) | 2 lines

on this pass, only remove duplicate log messages

................
r8404 | russell | 2006-01-21 13:58:57 -0700 (Sat, 21 Jan 2006) | 1 line


................
r8407 | russell | 2006-01-21 14:29:06 -0700 (Sat, 21 Jan 2006) | 2 lines

clean up formatting to conform to coding guidelines and fix some typos (issue #6260)

................
r8408 | russell | 2006-01-21 14:50:09 -0700 (Sat, 21 Jan 2006) | 5 lines

- conversion to allocation wrappers
- get rid of some compiler warnings due to usused variables and const-ification
- remove some unnecessary uses of malloc/strncpy/free and replace with ast_strdupa
(based on the patch from issue #6275)

................
r8409 | russell | 2006-01-21 14:57:01 -0700 (Sat, 21 Jan 2006) | 2 lines

oops, don't build app_sql_postgres by default ...

................
r8410 | russell | 2006-01-21 15:09:06 -0700 (Sat, 21 Jan 2006) | 5 lines

- conversions to allocation wrappers
- replace malloc/memset with ast_calloc
- replace malloc/ast_copy_string with ast_strdup
(based on patch from issue #6299)

................
r8411 | russell | 2006-01-21 16:05:19 -0700 (Sat, 21 Jan 2006) | 2 lines

const-ify some fields in the ast_exten and ast_include structures (issue #6270)

................
r8413 | russell | 2006-01-21 16:17:52 -0700 (Sat, 21 Jan 2006) | 1 line


................

Added:
    team/murf/AEL2/doc/README.callingpres
      - copied unchanged from r8413, trunk/doc/README.callingpres
Modified:
    team/murf/AEL2/   (props changed)
    team/murf/AEL2/apps/Makefile
    team/murf/AEL2/apps/app_authenticate.c
    team/murf/AEL2/apps/app_chanspy.c
    team/murf/AEL2/apps/app_curl.c
    team/murf/AEL2/apps/app_db.c
    team/murf/AEL2/apps/app_dial.c
    team/murf/AEL2/apps/app_dictate.c
    team/murf/AEL2/apps/app_directory.c
    team/murf/AEL2/apps/app_disa.c
    team/murf/AEL2/apps/app_exec.c
    team/murf/AEL2/apps/app_externalivr.c
    team/murf/AEL2/apps/app_festival.c
    team/murf/AEL2/apps/app_hasnewvoicemail.c
    team/murf/AEL2/apps/app_image.c
    team/murf/AEL2/apps/app_macro.c
    team/murf/AEL2/apps/app_meetme.c
    team/murf/AEL2/apps/app_mixmonitor.c
    team/murf/AEL2/apps/app_osplookup.c
    team/murf/AEL2/apps/app_page.c
    team/murf/AEL2/apps/app_playback.c
    team/murf/AEL2/apps/app_privacy.c
    team/murf/AEL2/apps/app_queue.c
    team/murf/AEL2/apps/app_random.c
    team/murf/AEL2/apps/app_read.c
    team/murf/AEL2/apps/app_readfile.c
    team/murf/AEL2/apps/app_record.c
    team/murf/AEL2/apps/app_sayunixtime.c
    team/murf/AEL2/apps/app_senddtmf.c
    team/murf/AEL2/apps/app_sendtext.c
    team/murf/AEL2/apps/app_setcallerid.c
    team/murf/AEL2/apps/app_skel.c
    team/murf/AEL2/apps/app_sql_postgres.c
    team/murf/AEL2/apps/app_stack.c
    team/murf/AEL2/apps/app_talkdetect.c
    team/murf/AEL2/apps/app_transfer.c
    team/murf/AEL2/apps/app_url.c
    team/murf/AEL2/apps/app_userevent.c
    team/murf/AEL2/apps/app_verbose.c
    team/murf/AEL2/apps/app_voicemail.c
    team/murf/AEL2/apps/app_while.c
    team/murf/AEL2/apps/app_zapras.c
    team/murf/AEL2/callerid.c
    team/murf/AEL2/channel.c
    team/murf/AEL2/channels/chan_agent.c
    team/murf/AEL2/channels/chan_iax2.c
    team/murf/AEL2/channels/chan_sip.c
    team/murf/AEL2/codecs/codec_a_mu.c
    team/murf/AEL2/codecs/codec_adpcm.c
    team/murf/AEL2/codecs/codec_alaw.c
    team/murf/AEL2/codecs/codec_g723_1.c
    team/murf/AEL2/codecs/codec_g726.c
    team/murf/AEL2/codecs/codec_gsm.c
    team/murf/AEL2/codecs/codec_ilbc.c
    team/murf/AEL2/codecs/codec_lpc10.c
    team/murf/AEL2/codecs/codec_speex.c
    team/murf/AEL2/codecs/codec_ulaw.c
    team/murf/AEL2/codecs/gsm/Makefile
    team/murf/AEL2/configs/alsa.conf.sample
    team/murf/AEL2/configs/sip.conf.sample
    team/murf/AEL2/configs/zapata.conf.sample
    team/murf/AEL2/formats/format_pcm.c
    team/murf/AEL2/formats/format_pcm_alaw.c
    team/murf/AEL2/funcs/func_cdr.c
    team/murf/AEL2/funcs/func_cut.c
    team/murf/AEL2/funcs/func_logic.c
    team/murf/AEL2/funcs/func_math.c
    team/murf/AEL2/funcs/func_md5.c
    team/murf/AEL2/funcs/func_odbc.c
    team/murf/AEL2/funcs/func_rand.c
    team/murf/AEL2/funcs/func_strings.c
    team/murf/AEL2/include/asterisk/channel.h
    team/murf/AEL2/include/asterisk/utils.h
    team/murf/AEL2/pbx.c
    team/murf/AEL2/res/res_agi.c
    team/murf/AEL2/res/res_crypto.c
    team/murf/AEL2/res/res_features.c
    team/murf/AEL2/res/res_indications.c
    team/murf/AEL2/res/res_monitor.c
    team/murf/AEL2/res/res_musiconhold.c
    team/murf/AEL2/res/res_osp.c

Propchange: team/murf/AEL2/
------------------------------------------------------------------------------
--- svnmerge-blocked (original)
+++ svnmerge-blocked Sat Jan 21 19:24:51 2006
@@ -1,1 +1,1 @@
-/branches/1.2:7490,7497,7517,7529,7546,7550,7552,7557,7580,7586,7595,7605,7641,7663,7706,7738,7771,7792,7812,7870-7871,7898-7900,7915,7960,7965,7970,7976,8047,8112
+/branches/1.2:7490,7497,7517,7529,7546,7550,7552,7557,7580,7586,7595,7605,7641,7663,7706,7738,7771,7792,7812,7870-7871,7898-7900,7915,7960,7965,7970,7976,8047,8112,8394,8412

Propchange: team/murf/AEL2/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Sat Jan 21 19:24:51 2006
@@ -1,1 +1,1 @@
-/trunk:1-8326
+/trunk:1-8415

Modified: team/murf/AEL2/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/Makefile?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/Makefile (original)
+++ team/murf/AEL2/apps/Makefile Sat Jan 21 19:24:51 2006
@@ -96,7 +96,7 @@
 	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CURLLIBS)
 
 app_sql_postgres.o: app_sql_postgres.c
-	$(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
+	$(CC) -pipe -I$(CROSS_COMPILE_TARGET)/usr/local/pgsql/include -I$(CROSS_COMPILE_TARGET)/usr/include/postgresql $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
 
 app_sql_postgres.so: app_sql_postgres.o
 	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -L/usr/local/pgsql/lib -lpq

Modified: team/murf/AEL2/apps/app_authenticate.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_authenticate.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_authenticate.c (original)
+++ team/murf/AEL2/apps/app_authenticate.c Sat Jan 21 19:24:51 2006
@@ -128,7 +128,10 @@
 		}
 	}
 	
-	argcopy = ast_strdupa(data);
+	if (!(argcopy = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(arglist,argcopy);
 	

Modified: team/murf/AEL2/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_chanspy.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_chanspy.c (original)
+++ team/murf/AEL2/apps/app_chanspy.c Sat Jan 21 19:24:51 2006
@@ -383,7 +383,8 @@
 	struct ast_flags flags;
 	signed char zero_volume = 0;
 
-	args = ast_strdupa(data);
+	if (!(args = ast_strdupa(data)))
+		return -1;
 
 	LOCAL_USER_ADD(u);
 

Modified: team/murf/AEL2/apps/app_curl.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_curl.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_curl.c (original)
+++ team/murf/AEL2/apps/app_curl.c Sat Jan 21 19:24:51 2006
@@ -128,7 +128,10 @@
 
 	LOCAL_USER_ACF_ADD(u);
 
-	info = ast_strdupa(data);
+	if (!(info = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return buf;
+	}
 
 	AST_STANDARD_APP_ARGS(args, info);	
 	

Modified: team/murf/AEL2/apps/app_db.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_db.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_db.c (original)
+++ team/murf/AEL2/apps/app_db.c Sat Jan 21 19:24:51 2006
@@ -75,7 +75,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	argv = ast_strdupa(data);
+	if (!(argv = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return 0;
+	}
 
 	if (strchr(argv, '/')) {
 		family = strsep(&argv, "/");
@@ -116,7 +119,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	argv = ast_strdupa(data);
+	if (!(argv = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return 0;
+	}
 
 	if (strchr(argv, '/')) {
 		family = strsep(&argv, "/");

Modified: team/murf/AEL2/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_dial.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_dial.c (original)
+++ team/murf/AEL2/apps/app_dial.c Sat Jan 21 19:24:51 2006
@@ -786,7 +786,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 	
 	AST_STANDARD_APP_ARGS(args, parse);
 
@@ -1623,7 +1626,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	announce = ast_strdupa(data);	
+	if (!(announce = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 	
 	memset(&peerflags, 0, sizeof(peerflags));
 

Modified: team/murf/AEL2/apps/app_dictate.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_dictate.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_dictate.c (original)
+++ team/murf/AEL2/apps/app_dictate.c Sat Jan 21 19:24:51 2006
@@ -110,7 +110,8 @@
 	
 	snprintf(dftbase, sizeof(dftbase), "%s/dictate", ast_config_AST_SPOOL_DIR);
 	if (!ast_strlen_zero(data)) {
-		parse = ast_strdupa(data);
+		if (!(parse = ast_strdupa(data)))
+			return -1;
 		AST_STANDARD_APP_ARGS(args, parse);
 	} else
 		args.argc = 0;

Modified: team/murf/AEL2/apps/app_directory.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_directory.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_directory.c (original)
+++ team/murf/AEL2/apps/app_directory.c Sat Jan 21 19:24:51 2006
@@ -431,7 +431,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1; 
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 		

Modified: team/murf/AEL2/apps/app_disa.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_disa.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_disa.c (original)
+++ team/murf/AEL2/apps/app_disa.c Sat Jan 21 19:24:51 2006
@@ -161,7 +161,10 @@
 	ast_log(LOG_DEBUG, "Digittimeout: %d\n", digittimeout);
 	ast_log(LOG_DEBUG, "Responsetimeout: %d\n", firstdigittimeout);
 
-	tmp = ast_strdupa(data);
+	if (!(tmp = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}	
 
 	AST_STANDARD_APP_ARGS(args, tmp);
 

Modified: team/murf/AEL2/apps/app_exec.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_exec.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_exec.c (original)
+++ team/murf/AEL2/apps/app_exec.c Sat Jan 21 19:24:51 2006
@@ -73,9 +73,7 @@
 
 	/* Check and parse arguments */
 	if (data) {
-		s = ast_strdupa(data);
-		appname = strsep(&s, "(");
-		if (s) {
+		if ((s = ast_strdupa(data))) {
 			endargs = strrchr(s, ')');
 			if (endargs)
 				*endargs = '\0';
@@ -89,7 +87,17 @@
 				ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
 				res = -1;
 			}
-		}
+			if (appname) {
+				app = pbx_findapp(appname);
+				if (app) {
+					res = pbx_exec(chan, app, args, 1);
+				} else {
+					ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
+					res = -1;
+				}
+			}
+		} else
+			res = -1;
 	}
 
 	LOCAL_USER_REMOVE(u);

Modified: team/murf/AEL2/apps/app_externalivr.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_externalivr.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_externalivr.c (original)
+++ team/murf/AEL2/apps/app_externalivr.c Sat Jan 21 19:24:51 2006
@@ -271,7 +271,10 @@
 		goto exit;
 	}
 
-	buf = ast_strdupa(data);
+	if (!(buf = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	argc = ast_app_separate_args(buf, '|', argv, sizeof(argv) / sizeof(argv[0]));
 

Modified: team/murf/AEL2/apps/app_festival.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_festival.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_festival.c (original)
+++ team/murf/AEL2/apps/app_festival.c Sat Jan 21 19:24:51 2006
@@ -339,7 +339,11 @@
 		festivalcommand = "(tts_textasterisk \"%s\" 'file)(quit)\n";
 	}
 	
-	data = ast_strdupa(vdata);
+	if (!(data = ast_strdupa(vdata))) {
+		ast_config_destroy(cfg);
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	intstr = strchr(data, '|');
 	if (intstr) {	

Modified: team/murf/AEL2/apps/app_hasnewvoicemail.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_hasnewvoicemail.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_hasnewvoicemail.c (original)
+++ team/murf/AEL2/apps/app_hasnewvoicemail.c Sat Jan 21 19:24:51 2006
@@ -129,7 +129,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	input = ast_strdupa((char *)data);
+	if (!(input = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, input);
 
@@ -188,7 +191,10 @@
 
 	buf[0] = '\0';
 
-	argsstr = ast_strdupa(data);
+	if (!(argsstr = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return buf;
+	}
 
 	AST_STANDARD_APP_ARGS(args, argsstr);
 

Modified: team/murf/AEL2/apps/app_image.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_image.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_image.c (original)
+++ team/murf/AEL2/apps/app_image.c Sat Jan 21 19:24:51 2006
@@ -78,7 +78,10 @@
 	
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 

Modified: team/murf/AEL2/apps/app_macro.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_macro.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_macro.c (original)
+++ team/murf/AEL2/apps/app_macro.c Sat Jan 21 19:24:51 2006
@@ -307,7 +307,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	expr = ast_strdupa(data);
+	if (!(expr = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	if ((label_a = strchr(expr, '?'))) {
 		*label_a = '\0';

Modified: team/murf/AEL2/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_meetme.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_meetme.c (original)
+++ team/murf/AEL2/apps/app_meetme.c Sat Jan 21 19:24:51 2006
@@ -1778,7 +1778,8 @@
 				if (strcasecmp(var->name, "conf"))
 					continue;
 				
-				parse = ast_strdupa(var->value);
+				if (!(parse = ast_strdupa(var->value)))
+					return NULL;
 				
 				AST_STANDARD_APP_ARGS(args, parse);
 				if (!strcasecmp(args.confno, confno)) {
@@ -1834,7 +1835,10 @@
 
 	LOCAL_USER_ADD(u);
 	
-	localdata = ast_strdupa(data);
+	if (!(localdata = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, localdata);
 	
@@ -1978,8 +1982,6 @@
 										}
 									}
 								}
-							} else {
-								ast_log(LOG_ERROR, "Out of memory\n");
 							}
 						}
 						var = var->next;

Modified: team/murf/AEL2/apps/app_mixmonitor.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_mixmonitor.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_mixmonitor.c (original)
+++ team/murf/AEL2/apps/app_mixmonitor.c Sat Jan 21 19:24:51 2006
@@ -333,7 +333,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 	

Modified: team/murf/AEL2/apps/app_osplookup.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_osplookup.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_osplookup.c (original)
+++ team/murf/AEL2/apps/app_osplookup.c Sat Jan 21 19:24:51 2006
@@ -138,7 +138,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	temp = ast_strdupa(data);
+	if (!(temp = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, temp);
 
@@ -196,7 +199,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	temp = ast_strdupa(data);
+	if (!(temp = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, temp);
 
@@ -265,7 +271,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	temp = ast_strdupa(data);
+	if (!(temp = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, temp);
 

Modified: team/murf/AEL2/apps/app_page.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_page.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_page.c (original)
+++ team/murf/AEL2/apps/app_page.c Sat Jan 21 19:24:51 2006
@@ -163,7 +163,10 @@
 		return -1;
 	};
 
-	options = ast_strdupa(data);
+	if (!(options = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	tmp = strsep(&options, "|");
 	if (options)

Modified: team/murf/AEL2/apps/app_playback.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_playback.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_playback.c (original)
+++ team/murf/AEL2/apps/app_playback.c Sat Jan 21 19:24:51 2006
@@ -89,7 +89,8 @@
 		return -1;
 	}
 
-	tmp = ast_strdupa(data);
+	if (!(tmp = ast_strdupa(data)))
+		return -1;	
 
 	LOCAL_USER_ADD(u);
 	AST_STANDARD_APP_ARGS(args, tmp);

Modified: team/murf/AEL2/apps/app_privacy.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_privacy.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_privacy.c (original)
+++ team/murf/AEL2/apps/app_privacy.c Sat Jan 21 19:24:51 2006
@@ -117,7 +117,10 @@
 
 		if (!ast_strlen_zero((char *)data))
 		{
-			parse = ast_strdupa(data);
+			if (!(parse = ast_strdupa(data))) {
+				LOCAL_USER_REMOVE(u);
+				return -1;
+			}
 			
 			AST_STANDARD_APP_ARGS(args, parse);
 

Modified: team/murf/AEL2/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_queue.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_queue.c (original)
+++ team/murf/AEL2/apps/app_queue.c Sat Jan 21 19:24:51 2006
@@ -791,8 +791,7 @@
 
 /*!\brief Reload a single queue via realtime.
    \return Return the queue, or NULL if it doesn't exist.
-   \note Should be called with the global qlock locked.
-   When found, the queue is returned with q->lock locked. */
+   \note Should be called with the global qlock locked. */
 static struct ast_call_queue *find_queue_by_name_rt(const char *queuename, struct ast_variable *queue_vars, struct ast_config *member_config)
 {
 	struct ast_variable *v;
@@ -818,6 +817,7 @@
 				ast_mutex_unlock(&q->lock);
 				return NULL;
 			} else {
+				ast_mutex_unlock(&q->lock);
 				return q;
 			}
 		}
@@ -911,13 +911,60 @@
 		m = next_m;
 	}
 
+	ast_mutex_unlock(&q->lock);
+
 	return q;
 }
 
-static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result *reason)
+static struct ast_call_queue *load_realtime_queue(char *queuename)
 {
 	struct ast_variable *queue_vars = NULL;
 	struct ast_config *member_config = NULL;
+	struct ast_call_queue *q;
+
+	/* Find the queue in the in-core list first. */
+	ast_mutex_lock(&qlock);
+	for (q = queues; q; q = q->next) {
+		if (!strcasecmp(q->name, queuename)) {
+			break;
+		}
+	}
+	ast_mutex_unlock(&qlock);
+
+	if (!q) {
+		/*! \note Load from realtime before taking the global qlock, to avoid blocking all
+		   queue operations while waiting for the DB.
+
+		   This will be two separate database transactions, so we might
+		   see queue parameters as they were before another process
+		   changed the queue and member list as it was after the change.
+		   Thus we might see an empty member list when a queue is
+		   deleted. In practise, this is unlikely to cause a problem. */
+
+		queue_vars = ast_load_realtime("queues", "name", queuename, NULL);
+		if (queue_vars) {
+			member_config = ast_load_realtime_multientry("queue_members", "interface LIKE", "%", "queue_name", queuename, NULL);
+			if (!member_config) {
+				ast_log(LOG_ERROR, "no queue_members defined in your config (extconfig.conf).\n");
+				return NULL;
+			}
+		}
+
+		ast_mutex_lock(&qlock);
+
+		q = find_queue_by_name_rt(queuename, queue_vars, member_config);
+		if (member_config)
+			ast_config_destroy(member_config);
+		if (queue_vars)
+			ast_variables_destroy(queue_vars);
+
+		ast_mutex_unlock(&qlock);
+	}
+	return q;
+}
+
+static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result *reason)
+{
 	struct ast_call_queue *q;
 	struct queue_ent *cur, *prev = NULL;
 	int res = -1;
@@ -925,35 +972,12 @@
 	int inserted = 0;
 	enum queue_member_status stat;
 
-	/*! \note Load from realtime before taking the global qlock, to avoid blocking all
-	   queue operations while waiting for the DB.
-
-	   This will be two separate database transactions, so we might
-	   see queue parameters as they were before another process
-	   changed the queue and member list as it was after the change.
-	   Thus we might see an empty member list when a queue is
-	   deleted. In practise, this is unlikely to cause a problem. */
-	queue_vars = ast_load_realtime("queues", "name", queuename, NULL);
-	if (queue_vars) {
-		member_config = ast_load_realtime_multientry("queue_members", "interface LIKE", "%", "queue_name", queuename, NULL);
-		if (!member_config) {
-			ast_log(LOG_ERROR, "no queue_members defined in your config (extconfig.conf).\n");
-			return res;
-		}
-	}
+	q = load_realtime_queue(queuename);
+	if (!q)
+		return res;
 
 	ast_mutex_lock(&qlock);
-	q = find_queue_by_name_rt(queuename, queue_vars, member_config);
-	/* Note: If found, find_queue_by_name_rt() returns with q->lock locked. */
-	if(member_config)
-		ast_config_destroy(member_config);
-	if(queue_vars)
-		ast_variables_destroy(queue_vars);
-
-	if (!q) {
-		ast_mutex_unlock(&qlock);
-		return res;
-	}
+	ast_mutex_lock(&q->lock);
 
 	/* This is our one */
 	stat = get_member_status(q, qe->max_penalty);
@@ -2452,41 +2476,42 @@
 	struct member *new_member;
 	int res = RES_NOSUCHQUEUE;
 
+	/* \note Ensure the appropriate realtime queue is loaded.  Note that this
+	 * short-circuits if the queue is already in memory. */
+	q = load_realtime_queue(queuename);
+
 	ast_mutex_lock(&qlock);
-	for (q = queues ; q ; q = q->next) {
+
+	if (q) {
 		ast_mutex_lock(&q->lock);
-		if (!strcmp(q->name, queuename)) {
-			if (interface_exists(q, interface) == NULL) {
-				new_member = create_queue_member(interface, penalty, paused);
-
-				if (new_member != NULL) {
-					new_member->dynamic = 1;
-					new_member->next = q->members;
-					q->members = new_member;
-					manager_event(EVENT_FLAG_AGENT, "QueueMemberAdded",
-						"Queue: %s\r\n"
-						"Location: %s\r\n"
-						"Membership: %s\r\n"
-						"Penalty: %d\r\n"
-						"CallsTaken: %d\r\n"
-						"LastCall: %d\r\n"
-						"Status: %d\r\n"
-						"Paused: %d\r\n",
-					q->name, new_member->interface, new_member->dynamic ? "dynamic" : "static",
-					new_member->penalty, new_member->calls, (int)new_member->lastcall, new_member->status, new_member->paused);
+		if (interface_exists(q, interface) == NULL) {
+			new_member = create_queue_member(interface, penalty, paused);
+
+			if (new_member != NULL) {
+				new_member->dynamic = 1;
+				new_member->next = q->members;
+				q->members = new_member;
+				manager_event(EVENT_FLAG_AGENT, "QueueMemberAdded",
+					"Queue: %s\r\n"
+					"Location: %s\r\n"
+					"Membership: %s\r\n"
+					"Penalty: %d\r\n"
+					"CallsTaken: %d\r\n"
+					"LastCall: %d\r\n"
+					"Status: %d\r\n"
+					"Paused: %d\r\n",
+				q->name, new_member->interface, new_member->dynamic ? "dynamic" : "static",
+				new_member->penalty, new_member->calls, (int)new_member->lastcall, new_member->status, new_member->paused);
 					
-					if (dump)
-						dump_queue_members(q);
-
-					res = RES_OKAY;
-				} else {
-					res = RES_OUTOFMEMORY;
-				}
+				if (dump)
+					dump_queue_members(q);
+
+				res = RES_OKAY;
 			} else {
-				res = RES_EXISTS;
-			}
-			ast_mutex_unlock(&q->lock);
-			break;
+				res = RES_OUTOFMEMORY;
+			}
+		} else {
+			res = RES_EXISTS;
 		}
 		ast_mutex_unlock(&q->lock);
 	}
@@ -2645,7 +2670,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 
@@ -2697,7 +2725,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;	
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 
@@ -2751,7 +2782,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	parse = ast_strdupa(data);
+	if (!(parse = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(args, parse);
 
@@ -2815,11 +2849,7 @@
 
 	LOCAL_USER_ADD(u);
 
-	if (!(parse = ast_strdupa(data))) {
-		ast_log(LOG_WARNING, "Memory Error!\n");
-		LOCAL_USER_REMOVE(u);
-		return -1;
-	}
+	parse = ast_strdupa(data);
 
 	AST_STANDARD_APP_ARGS(args, parse);
 
@@ -3403,7 +3433,13 @@
 	time(&now);
 	if ((!queue_show && argc != 2) || (queue_show && argc != 3))
 		return RESULT_SHOWUSAGE;
+
+	/* We only want to load realtime queues when a specific queue is asked for. */
+	if (queue_show)
+		load_realtime_queue(argv[2]);
+
 	ast_mutex_lock(&qlock);
+
 	q = queues;
 	if (!q) {	
 		ast_mutex_unlock(&qlock);

Modified: team/murf/AEL2/apps/app_random.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_random.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_random.c (original)
+++ team/murf/AEL2/apps/app_random.c Sat Jan 21 19:24:51 2006
@@ -73,7 +73,10 @@
 	
 	LOCAL_USER_ADD(u);
 
-	s = ast_strdupa(data);
+	if (!(s = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	prob = strsep(&s,":");
 	if ((!prob) || (sscanf(prob, "%d", &probint) != 1))

Modified: team/murf/AEL2/apps/app_read.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_read.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_read.c (original)
+++ team/murf/AEL2/apps/app_read.c Sat Jan 21 19:24:51 2006
@@ -117,7 +117,10 @@
 
 	LOCAL_USER_ADD(u);
 	
-	argcopy = ast_strdupa(data);
+	if (!(argcopy = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	AST_STANDARD_APP_ARGS(arglist, argcopy);
 

Modified: team/murf/AEL2/apps/app_readfile.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_readfile.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_readfile.c (original)
+++ team/murf/AEL2/apps/app_readfile.c Sat Jan 21 19:24:51 2006
@@ -73,7 +73,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	s = ast_strdupa(data);
+	if (!(s = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	varname = strsep(&s, "=");
 	file = strsep(&s, "|");

Modified: team/murf/AEL2/apps/app_record.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_record.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_record.c (original)
+++ team/murf/AEL2/apps/app_record.c Sat Jan 21 19:24:51 2006
@@ -116,7 +116,10 @@
 	LOCAL_USER_ADD(u);
 
 	/* Yay for strsep being easy */
-	vdata = ast_strdupa(data);
+	if (!(vdata = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	p = vdata;
 	filename = strsep(&p, "|");

Modified: team/murf/AEL2/apps/app_sayunixtime.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_sayunixtime.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_sayunixtime.c (original)
+++ team/murf/AEL2/apps/app_sayunixtime.c Sat Jan 21 19:24:51 2006
@@ -92,12 +92,14 @@
 	} 
 
 	if (data) {
-		s = ast_strdupa(data);
-		timec = strsep(&s,"|");
-		if ((timec) && (*timec != '\0')) {
-			long timein;
-			if (sscanf(timec,"%ld",&timein) == 1) {
-				unixtime = (time_t)timein;
+		s = data;
+		if ((s = ast_strdupa(s))) {
+			timec = strsep(&s,"|");
+			if ((timec) && (*timec != '\0')) {
+				long timein;
+				if (sscanf(timec,"%ld",&timein) == 1) {
+					unixtime = (time_t)timein;
+				}
 			}
 		}
 		if (s) {

Modified: team/murf/AEL2/apps/app_senddtmf.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_senddtmf.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_senddtmf.c (original)
+++ team/murf/AEL2/apps/app_senddtmf.c Sat Jan 21 19:24:51 2006
@@ -74,7 +74,10 @@
 
 	LOCAL_USER_ADD(u);
 
-	digits = ast_strdupa(data);
+	if (!(digits = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 
 	if ((to = strchr(digits,'|'))) {
 		*to = '\0';

Modified: team/murf/AEL2/apps/app_sendtext.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_sendtext.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_sendtext.c (original)
+++ team/murf/AEL2/apps/app_sendtext.c Sat Jan 21 19:24:51 2006
@@ -87,8 +87,12 @@
 		ast_log(LOG_WARNING, "SendText requires an argument (text[|options])\n");
 		LOCAL_USER_REMOVE(u);
 		return -1;
-	} else
-		parse = ast_strdupa(data);
+	} else {
+		if (!(parse = ast_strdupa(data))) {
+			LOCAL_USER_REMOVE(u);
+			return -1;
+		}
+	}
 	
 	AST_STANDARD_APP_ARGS(args, parse);
 

Modified: team/murf/AEL2/apps/app_setcallerid.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_setcallerid.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_setcallerid.c (original)
+++ team/murf/AEL2/apps/app_setcallerid.c Sat Jan 21 19:24:51 2006
@@ -117,7 +117,10 @@
 	
 	LOCAL_USER_ADD(u);
 	
-	tmp = ast_strdupa(data);
+	if (!(tmp = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 	
 	opt = strchr(tmp, '|');
 	if (opt) {

Modified: team/murf/AEL2/apps/app_skel.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_skel.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_skel.c (original)
+++ team/murf/AEL2/apps/app_skel.c Sat Jan 21 19:24:51 2006
@@ -87,7 +87,10 @@
 	/* Do our thing here */
 
 	/* We need to make a copy of the input string if we are going to modify it! */
-	args = ast_strdupa(data);	
+	if (!(args = ast_strdupa(data))) {
+		LOCAL_USER_REMOVE(u);
+		return -1;
+	}
 	
 	if ((argc = ast_app_separate_args(args, '|', argv, sizeof(argv) / sizeof(argv[0])))) {
 		dummy = argv[0];

Modified: team/murf/AEL2/apps/app_sql_postgres.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/apps/app_sql_postgres.c?rev=8416&r1=8415&r2=8416&view=diff
==============================================================================
--- team/murf/AEL2/apps/app_sql_postgres.c (original)
+++ team/murf/AEL2/apps/app_sql_postgres.c Sat Jan 21 19:24:51 2006
@@ -21,7 +21,7 @@
  * \brief Connect to PostgreSQL
  *
  * \author Christos Ricudis <ricudis at itc.auth.gr>
- * 
+ *
  * \ingroup applications
  */
 
@@ -44,6 +44,7 @@
 #include "asterisk/linkedlists.h"
 #include "asterisk/chanvars.h"
 #include "asterisk/lock.h"
+#include "asterisk/utils.h"
 
 #include "libpq-fe.h"
 
@@ -53,65 +54,65 @@
 
 static char *synopsis = "Do several SQLy things";
 
-static char *descrip = 
+static char *descrip =
 "PGSQL():  Do several SQLy things\n"
 "Syntax:\n"
 "  PGSQL(Connect var option-string)\n"
 "    Connects to a database.  Option string contains standard PostgreSQL\n"
-"    parameters like host=, dbname=, user=.  Connection identifer returned\n"
-"    in ${var}\n"
+"    parameters like host=, dbname=, user=.  Connection identifier returned\n"
+"    in ${var}.\n"
 "  PGSQL(Query var ${connection_identifier} query-string)\n"
 "    Executes standard SQL query contained in query-string using established\n"
-"    connection identified by ${connection_identifier}. Reseult of query is\n"
-"    is stored in ${var}.\n"
+"    connection identified by ${connection_identifier}.  Result of query is\n"
+"    stored in ${var}.\n"
 "  PGSQL(Fetch statusvar ${result_identifier} var1 var2 ... varn)\n"
 "    Fetches a single row from a result set contained in ${result_identifier}.\n"
 "    Assigns returned fields to ${var1} ... ${varn}.  ${statusvar} is set TRUE\n"
-"    if additional rows exist in reseult set.\n"
+"    if additional rows exist in result set.\n"
 "  PGSQL(Clear ${result_identifier})\n"
-"    Frees memory and datastructures associated with result set.\n" 
+"    Frees memory and data structures associated with result set.\n"
 "  PGSQL(Disconnect ${connection_identifier})\n"
 "    Disconnects from named connection to PostgreSQL.\n" ;
 
 /*
 
-Syntax of SQL commands : 
+Syntax of SQL commands :
 
 	Connect var option-string
-	
-	Connects to a database using the option-string and stores the 
+
+	Connects to a database using the option-string and stores the
 	connection identifier in ${var}
-	
-	
+
+
 	Query var ${connection_identifier} query-string
-	
+
 	Submits query-string to database backend and stores the result
 	identifier in ${var}
-	
-	
+
+
 	Fetch statusvar ${result_identifier} var1 var2 var3 ... varn
-	
-	Fetches a row from the query and stores end-of-table status in 
-	${statusvar} and columns in ${var1}..${varn}
-	
-	
+
+	Fetches a row from the query and stores end-of-table status in
+	${statusvar} and columns in ${var1} ... ${varn}
+
+
 	Clear ${result_identifier}
 

[... 5053 lines stripped ...]


More information about the svn-commits mailing list