Author: sebor
Date: Mon Oct 2 16:08:06 2006
New Revision: 452253
URL: http://svn.apache.org/viewvc?view=rev&rev=452253
Log:
2006-10-02 Andrew Black <[EMAIL PROTECTED]>
* cmdopt.cpp: Convert C++ comments to C comments.
(rw_signal) [!_WIN32 & !_WIN64]: Ditto.
(parse_limit_opts): Ditto, fix style violation.
(show_usage): Make static (move from global to file scope).
(eval_options, split_opt_string): Move documentation from here ...
* cmdopt.h (eval_options, split_opt_string): ... To here.
Convert C++ comments to C comments.
* display.cpp (print_header_plain, print_target_plain,
print_status_plain, print_footer_plain): Make static, document.
* display.h: Convert C++ comments to C comments.
* exec.cpp: Ditto.
(limit_process) [!_WIN32 & !_WIN64]: Ditto.
(get_signo): Fix style violation.
(wait_for_child, exec_file) [!_WIN32 & !_WIN64]: Ditto.
(wait_for_child) [!_WIN32 & !_WIN64]: Correct embedded comment.
(get_signo, get_signame, exec_file): Move documentation from here ...
* exec.h (get_signo, get_signame, exec_file): ... To here.
Convert C++ comments to C comments.
* output.cpp (parse_output): Move documentation from here ...
* output.h (parse_output): ... To here.
Convert C++ comments to C comments.
* runall.cpp: Ditto
* target.h: Ditto, correct file header documentation.
* util.cpp (guarded_realloc): Fix style violation.
(terminate, guarded_malloc, guarded_realloc): Move documentation
from here ...
* util.h (terminate, guarded_malloc, guarded_realloc): ... To here.
(terminate): Fix style violation in declaration.
Convert C++ comments to C comments.
Modified:
incubator/stdcxx/trunk/util/cmdopt.cpp
incubator/stdcxx/trunk/util/cmdopt.h
incubator/stdcxx/trunk/util/display.cpp
incubator/stdcxx/trunk/util/display.h
incubator/stdcxx/trunk/util/exec.cpp
incubator/stdcxx/trunk/util/exec.h
incubator/stdcxx/trunk/util/output.cpp
incubator/stdcxx/trunk/util/output.h
incubator/stdcxx/trunk/util/runall.cpp
incubator/stdcxx/trunk/util/target.h
incubator/stdcxx/trunk/util/util.cpp
incubator/stdcxx/trunk/util/util.h
Modified: incubator/stdcxx/trunk/util/cmdopt.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/cmdopt.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/cmdopt.cpp (original)
+++ incubator/stdcxx/trunk/util/cmdopt.cpp Mon Oct 2 16:08:06 2006
@@ -24,8 +24,8 @@
*
**************************************************************************/
-// disable Compaq/HP C++ pure libc headers to allow POSIX symbols
-// such as SIGALRM or SIGKILL to be defined
+/* disable Compaq/HP C++ pure libc headers to allow POSIX symbols
+ such as SIGALRM or SIGKILL to be defined.*/
#undef __PURE_CNAME
#include <assert.h> /* for assert() */
@@ -144,8 +144,8 @@
struct sigaction act;
memset (&act, 0, sizeof act);
- // avoid extern "C"/"C++" mismatch due to an HP aCC 6 bug
- // (see STDCXX-291)
+ /* avoid extern "C"/"C++" mismatch due to an HP aCC 6 bug
+ (see STDCXX-291) */
if (func)
memcpy (&act.sa_handler, &func, sizeof func);
else
@@ -182,7 +182,7 @@
@param status status code to exit with.
*/
-void
+static void
show_usage (int status)
{
FILE* const where = status ? stderr : stdout;
@@ -254,49 +254,49 @@
&defaults->core,
#else
0,
-#endif // RLIMIT_CORE
+#endif /* RLIMIT_CORE */
"core", "CORE", "Core", 4 },
{
#ifdef RLIMIT_CPU
&defaults->cpu,
#else
0,
-#endif // RLIMIT_CPU
+#endif /* RLIMIT_CPU */
"cpu", "CPU", "Cpu", 3 },
{
#ifdef RLIMIT_DATA
&defaults->data,
#else
0,
-#endif // RLIMIT_DATA
+#endif /* RLIMIT_DATA */
"data", "DATA", "Data", 4 },
{
#ifdef RLIMIT_FSIZE
&defaults->fsize,
#else
0,
-#endif // RLIMIT_FSIZE
+#endif /* RLIMIT_FSIZE */
"fsize", "FSIZE", "Fsize", 5 },
{
#ifdef RLIMIT_NOFILE
&defaults->nofile,
#else
0,
-#endif // RLIMIT_NOFILE
+#endif /* RLIMIT_NOFILE */
"nofile", "NOFILE", "Nofile", 6 },
{
#ifdef RLIMIT_STACK
&defaults->stack,
#else
0,
-#endif // RLIMIT_STACK
+#endif /* RLIMIT_STACK */
"stack", "STACK", "Stack", 5 },
{
#ifdef RLIMIT_AS
&defaults->as,
#else
0,
-#endif // RLIMIT_AS
+#endif /* RLIMIT_AS */
"as", "AS", "As", 2 },
{ 0, 0, 0, 0, 0 }
};
@@ -316,8 +316,8 @@
|| 0 == memcmp (limits [i].mixd, arg, limits [i].len))
&& ':' == arg [limits [i].len]) {
- // determine whether the hard limit and/or
- // the soft limit should be set
+ /* determine whether the hard limit and/or the soft limit
+ should be set. */
const bool hard = isupper (arg [0]);
const bool soft = islower (arg [1]);
@@ -347,7 +347,8 @@
if (hard)
(*limits [i].limit)->rlim_max = lim;
- } else
+ }
+ else
warn ("Unable to process %s limit: Not supported\n",
limits [i].name);
break;
@@ -407,15 +408,6 @@
show_usage (1);
}
-/**
- Parses command line arguments for switches and options.
-
- @param argc number of command line arguments.
- @param argv command line arguments.
- @param defaults target_status structure containing default values.
- @param exe_opts handle to default child process arguments string
- @return number of command line arguments parsed.
-*/
int
eval_options (int argc, char **argv, struct target_opts* defaults,
const char** exe_opts)
@@ -591,20 +583,6 @@
return i;
}
-/**
- Translates opts into an array that can be passed to exec().
-
- This method malloc ()s two blocks of memory. The first block is the
- generated argv index array. This is the return value of this method. The
- second block is the parsed and split string contents the index referenced.
- This block is stored in element 1 of the return array. It is the
- responsibility of the calling method to free () both blocks.
-
- @warning this logic is UTF-8 unsafe
- @warning I/O redirection command piping isn't supported in the parse logic
- @param opts option string to split
- @return the parsed argv array
-*/
char**
split_opt_string (const char* opts)
{
Modified: incubator/stdcxx/trunk/util/cmdopt.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/cmdopt.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/cmdopt.h (original)
+++ incubator/stdcxx/trunk/util/cmdopt.h Mon Oct 2 16:08:06 2006
@@ -35,13 +35,33 @@
extern const char suffix_sep; /**< File suffix seperator. */
extern const size_t exe_suffix_len; /**< Length of executable suffix. */
-void
-show_usage (int status);
+/**
+ Parses command line arguments for switches and options.
+ @param argc number of command line arguments.
+ @param argv command line arguments.
+ @param defaults target_status structure containing default values.
+ @param exe_opts handle to default child process arguments string
+ @return number of command line arguments parsed.
+*/
int
eval_options (int argc, char** argv, struct target_opts* defaults,
const char** exe_opts);
+/**
+ Translates opts into an array that can be passed to exec().
+
+ This method malloc ()s two blocks of memory. The first block is the
+ generated argv index array. This is the return value of this method. The
+ second block is the parsed and split string contents the index referenced.
+ This block is stored in element 1 of the return array. It is the
+ responsibility of the calling method to free () both blocks.
+
+ @warning this logic is UTF-8 unsafe
+ @warning I/O redirection command piping isn't supported in the parse logic
+ @param opts option string to split
+ @return the parsed argv array
+*/
char**
split_opt_string (const char* opts);
@@ -56,4 +76,4 @@
*/
const char* get_target ();
-#endif // RW_PARSE_OPTS_H
+#endif /* RW_PARSE_OPTS_H */
Modified: incubator/stdcxx/trunk/util/display.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/display.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/display.cpp (original)
+++ incubator/stdcxx/trunk/util/display.cpp Mon Oct 2 16:08:06 2006
@@ -35,20 +35,30 @@
#include "display.h"
-void print_header_plain ()
+/**
+ Generates output header, designed for text output and console viewing.
+*/
+static void print_header_plain ()
{
puts ("NAME STATUS ASSERTS FAILED PERCNT USER "
"SYS");
}
-void print_target_plain (const struct target_opts*)
+/**
+ Generates target name listing, designed for text output and console viewing.
+*/
+static void print_target_plain (const struct target_opts*)
{
const char* const target_name = get_target ();
printf ("%-25.25s ", target_name);
fflush (stdout);
}
-void print_status_plain (const struct target_status* status)
+/**
+ Generates target result listing, designed for text output and console
+ viewing.
+*/
+static void print_status_plain (const struct target_status* status)
{
unsigned valid_timing;
assert (0 != status);
@@ -85,7 +95,11 @@
}
-void print_footer_plain () {}
+/**
+ Placholder output footer function, unneeded for text output and console
+ viewing.
+*/
+static void print_footer_plain () {}
const char* const short_st_name [ST_LAST] = {
"OK", /*ST_OK*/
Modified: incubator/stdcxx/trunk/util/display.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/display.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/display.h (original)
+++ incubator/stdcxx/trunk/util/display.h Mon Oct 2 16:08:06 2006
@@ -96,4 +96,4 @@
*/
extern void (*print_footer) ();
-#endif // RW_DISPLAY_H
+#endif /* RW_DISPLAY_H */
Modified: incubator/stdcxx/trunk/util/exec.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/exec.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/exec.cpp (original)
+++ incubator/stdcxx/trunk/util/exec.cpp Mon Oct 2 16:08:06 2006
@@ -24,8 +24,8 @@
*
**************************************************************************/
-// disable Compaq/HP C++ pure libc headers to allow POSIX symbols
-// such as SIGALRM or SIGKILL to be defined
+/* disable Compaq/HP C++ pure libc headers to allow POSIX symbols
+ such as SIGALRM or SIGKILL to be defined. */
#undef __PURE_CNAME
#include <assert.h> /* for assert */
@@ -291,19 +291,6 @@
return delta;
}
-/**
- Translates a human understandable signal name into a number usable by kill
().
-
- This method understands several formats for signal names. They are as
follows:
- - n
- - SIGFOO
- - FOO
- In this list, n denotes a number and FOO denotes a short signal name.
-
- @param signame a signal name to decode
- @returns the signal number or -1 if a number couldn't be determined
- @see signal_names []
-*/
int
get_signo (const char* signame)
{
@@ -312,7 +299,7 @@
assert (0 != signame);
- if (isdigit (signame [0])){
+ if (isdigit (signame [0])) {
char *junk;
int trans = strtol (signame, &junk, 10);
@@ -336,15 +323,6 @@
return -1;
}
-/**
- Translates a signal number into a human understandable name
-
- @param signo a signal number
- @returns the human understandable name for the signal (minus the SIG
- prefix), or "#n" if the the name for the number is unknown to the
- function, where n is signo
- @see signal_names []
-*/
const char*
get_signame (int signo)
{
@@ -464,11 +442,13 @@
break;
}
break; /*we've got an exit state, so let's bail*/
- } else if (WIFSIGNALED (status)) {
+ }
+ else if (WIFSIGNALED (status)) {
result->exit = WTERMSIG (status);
result->signaled = 1;
break; /*we've got an exit state, so let's bail*/
- } else if (WIFSTOPPED (status))
+ }
+ else if (WIFSTOPPED (status))
stopped = status;
#ifdef WIFCONTINUED /*Perhaps we should guard WIFSTOPPED with this guard also
*/
else if (WIFCONTINUED (status))
@@ -490,7 +470,7 @@
break;
}
- if(0 != kill (-child_pid, signals [siginx])) {
+ if (0 != kill (-child_pid, signals [siginx])) {
if (ESRCH == errno)
/* ESRCH means 'No process (group) found'. Since
there aren't any processes in the process group,
@@ -518,8 +498,7 @@
them like EPERM or EINVAL at this time. */
}
- /* Record the signal used*/
- /* result->killed = signals [siginx];*/
+ /* Consider recording the signal used here.*/
++siginx;
@@ -574,7 +553,7 @@
process times are rolled into the timing of a later process */
while (siginx < sigcount && 0 == kill (-child_pid, signals [siginx])) {
++siginx;
- sleep(1);
+ sleep (1);
}
}
@@ -712,25 +691,25 @@
} limits[] = {
#ifdef RLIMIT_CORE
LIMIT (CORE, core),
-#endif // RLIMIT_CORE
+#endif /* RLIMIT_CORE */
#ifdef RLIMIT_CPU
LIMIT (CPU, cpu),
-#endif // RLIMIT_CPU
+#endif /* RLIMIT_CPU */
#ifdef RLIMIT_DATA
LIMIT (DATA, data),
-#endif // RLIMIT_DATA
+#endif /* RLIMIT_DATA */
#ifdef RLIMIT_FSIZE
LIMIT (FSIZE, fsize),
-#endif // RLIMIT_FSIZE
+#endif /* RLIMIT_FSIZE */
#ifdef RLIMIT_NOFILE
LIMIT (NOFILE, nofile),
-#endif // RLIMIT_NOFILE
+#endif /* RLIMIT_NOFILE */
#ifdef RLIMIT_STACK
LIMIT (STACK, stack),
-#endif // RLIMIT_STACK
+#endif /* RLIMIT_STACK */
#ifdef RLIMIT_AS
LIMIT (AS, as),
-#endif // RLIMIT_AS
+#endif /* RLIMIT_AS */
{ 0, 0, 0 }
};
@@ -811,21 +790,6 @@
#endif /* _XOPEN_UNIX */
}
-/**
- Entry point to the child process (watchdog) subsystem.
-
- This method fork ()s, creating a child process. This child process becomes
- a process group leader, redirects input and output files, then exec ()s
- the target specified in argv [0], providing it with argv to use as its argv
- array. Meanwhile, the parent process calls the wait_for_child method to
- monitor the child process, passing the return value back to the calling
- method.
-
- @param exec_name name of the child executable
- @param argv argv array for child process
- @return structure describing how the child procees exited
- @see wait_for_child ()
-*/
void exec_file (const struct target_opts* options, struct target_status*
result)
{
const pid_t child_pid = fork ();
@@ -905,7 +869,8 @@
result->status = ST_EXECUTE;
warn ("Unable to create child process for %s: %s\n", options->argv [0],
strerror (errno));
- } else {
+ }
+ else {
/* parent */
wait_for_child (child_pid, options->timeout, result);
calculate_usage (result);
@@ -1107,23 +1072,6 @@
warn_last_error ("Waiting for child process");
}
-/**
- Entry point to the child process (watchdog) subsystem.
-
- This method creates a process using the windows CreateProcess API call.
- The startup context for this process is based on the context of the exec
- utility, but with the standard * file handles redirected. The execution of
- the process is monitored with the WaitForSingleObject API call. If the
- process doesn't complete within the allowed timeout, it is then killed. On
- Windows NT systems, a soft kill of the process (via the
- GenerateConsoleCtrlEvent API call) are first attempted attempted. The
- process is then hard killed via the TerminateProcess API call.
-
- @param exec_name name of the child executable
- @param argv argv array for child process
- @return structure describing how the child procees exited
- @see wait_for_child ()
-*/
void exec_file (const struct target_opts* options, struct target_status*
result)
{
char* merged;
Modified: incubator/stdcxx/trunk/util/exec.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/exec.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/exec.h (original)
+++ incubator/stdcxx/trunk/util/exec.h Mon Oct 2 16:08:06 2006
@@ -29,10 +29,56 @@
#include "target.h" /* For struct target_opts */
+/**
+ Translates a human understandable signal name into a number usable by kill
().
+
+ This method understands several formats for signal names. They are as
follows:
+ - n
+ - SIGFOO
+ - FOO
+ In this list, n denotes a number and FOO denotes a short signal name.
+
+ @param signame a signal name to decode
+ @returns the signal number or -1 if a number couldn't be determined
+ @see signal_names []
+*/
int get_signo (const char* signame);
+/**
+ Translates a signal number into a human understandable name
+
+ @param signo a signal number
+ @returns the human understandable name for the signal (minus the SIG
+ prefix), or "#n" if the the name for the number is unknown to the
+ function, where n is signo
+ @see signal_names []
+*/
const char* get_signame (int signo);
+/**
+ Entry point to the child process (watchdog) subsystem.
+
+ On UNIX systems, this method fork ()s, creating a child process. This
+ child process becomes a process group leader, redirects input and output
+ files, then exec ()s the target specified in argv [0], providing it with
+ argv to use as its argv array. Meanwhile, the parent process calls the
+ wait_for_child method to monitor the child process, passing the return
+ value back to the calling method.
+
+ On Windows, this method creates a process using the windows CreateProcess
+ API call. The startup context for this process is based on the context of
+ the exec utility, but with the standard * file handles redirected. The
+ execution of the process is monitored with the WaitForSingleObject API
+ call. If the process doesn't complete within the allowed timeout, it is
+ then killed. On Windows NT systems, a soft kill of the process (via the
+ GenerateConsoleCtrlEvent API call) are first attempted attempted. The
+ process is then hard killed via the TerminateProcess API call.
+
+ @param exec_name name of the child executable
+ @param argv argv array for child process
+ @return structure describing how the child procees exited
+ @see wait_for_child ()
+*/
void exec_file (const struct target_opts* options, struct target_status*
result);
-#endif // RW_EXEC_H
+#endif /* RW_EXEC_H */
Modified: incubator/stdcxx/trunk/util/output.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/output.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/output.cpp (original)
+++ incubator/stdcxx/trunk/util/output.cpp Mon Oct 2 16:08:06 2006
@@ -296,18 +296,6 @@
free (ref_name);
}
-/**
- Umbrella (dispatch) function to analyse the (saved) output of target.
-
- This file opens the saved output for parsing. If this fails,
- the status structure is updated to reflect this. Otherwise, check_test (),
- check_compat_test (), or check_example () is called to parse the output
- file.
-
- @param target the path to the executable that generated the output file
- being parsed.
- @param status status object to record results in.
-*/
void
parse_output (const struct target_opts* options, struct target_status* status)
{
Modified: incubator/stdcxx/trunk/util/output.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/output.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/output.h (original)
+++ incubator/stdcxx/trunk/util/output.h Mon Oct 2 16:08:06 2006
@@ -27,7 +27,19 @@
#ifndef OUTPUT_H
#define OUTPUT_H
+/**
+ Umbrella (dispatch) function to analyse the (saved) output of target.
+
+ This file opens the saved output for parsing. If this fails,
+ the status structure is updated to reflect this. Otherwise, check_test (),
+ check_compat_test (), or check_example () is called to parse the output
+ file.
+
+ @param target the path to the executable that generated the output file
+ being parsed.
+ @param status status object to record results in.
+*/
void
parse_output (const struct target_opts* options, struct target_status* status);
-#endif // OUTPUT_H
+#endif /* OUTPUT_H */
Modified: incubator/stdcxx/trunk/util/runall.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/runall.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/runall.cpp (original)
+++ incubator/stdcxx/trunk/util/runall.cpp Mon Oct 2 16:08:06 2006
@@ -49,19 +49,19 @@
#ifndef ENOENT
# define ENOENT 2
-#endif // ENOENT
+#endif /* ENOENT */
#ifndef S_IXUSR
# define S_IXUSR 0100
-#endif // S_IXUSR
+#endif /* S_IXUSR */
#ifndef S_IXGRP
# define S_IXGRP 0010
-#endif // S_IXGRP
+#endif /* S_IXGRP */
#ifndef S_IXOTH
# define S_IXOTH 0001
-#endif // S_IXOTH
+#endif /* S_IXOTH */
/**
Utility function to rework the argv array
Modified: incubator/stdcxx/trunk/util/target.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/target.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/target.h (original)
+++ incubator/stdcxx/trunk/util/target.h Mon Oct 2 16:08:06 2006
@@ -42,7 +42,7 @@
Abstraction typedef for struct timeval using real struct
*/
typedef struct timeval rw_timeval;
-#else
+#else /* _XOPEN_UNIX */
/**
Placeholder rlim_t for use in rw_rlimit
*/
@@ -77,7 +77,7 @@
Abstraction typedef for struct timeval using placeholder struct
*/
typedef struct rw_timeval rw_timeval;
-#endif
+#endif /* _XOPEN_UNIX */
#ifndef RLIM_INFINITY
# define RLIM_INFINITY -1
Modified: incubator/stdcxx/trunk/util/util.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/util.cpp?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/util.cpp (original)
+++ incubator/stdcxx/trunk/util/util.cpp Mon Oct 2 16:08:06 2006
@@ -50,12 +50,6 @@
va_end (args);
}
-/**
- Wrapper for exit (), providing a terminal error message on stderr.
-
- @param state non-zero status code to exit () with
- @param format printf () format string to display on stderr
-*/
void
terminate (const int state, const char* const format, ...)
{
@@ -77,14 +71,6 @@
exit (state);
}
-/**
- Wrapper for malloc (), providing return value checking.
-
- @param size number of bytes of memory to allocate
- @param file name of file calling method
- @param line line number in file method was called from
- @return (non-null) pointer to allocated bock of memory
-*/
void*
guarded_malloc (const size_t size, const char* const file, const unsigned line)
{
@@ -102,15 +88,6 @@
return alloc;
}
-/**
- Wrapper for realloc(), providing return value checking.
-
- @param source pointer to memory block to reallocate
- @param size number of bytes of memory to allocate
- @param file name of file calling method
- @param line line number in file method was called from
- @return (non-null) pointer to allocated bock of memory
-*/
void*
guarded_realloc (void* source, const size_t size, const char* const file,
const unsigned line)
@@ -122,8 +99,8 @@
alloc = realloc (source, size);
- if ( 0 == alloc )
- terminate ( 1, "malloc(%lu) at line %u of %s failed: %s\n",
+ if (0 == alloc)
+ terminate (1, "malloc(%lu) at line %u of %s failed: %s\n",
(unsigned long)size, line, file, strerror (errno));
return alloc;
Modified: incubator/stdcxx/trunk/util/util.h
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/util.h?view=diff&rev=452253&r1=452252&r2=452253
==============================================================================
--- incubator/stdcxx/trunk/util/util.h (original)
+++ incubator/stdcxx/trunk/util/util.h Mon Oct 2 16:08:06 2006
@@ -34,7 +34,13 @@
*/
void warn (const char* const format, ...);
-void terminate ( const int state, const char* const format, ... );
+/**
+ Wrapper for exit (), providing a terminal error message on stderr.
+
+ @param state non-zero status code to exit () with
+ @param format printf () format string to display on stderr
+*/
+void terminate (const int state, const char* const format, ...);
/* Note: RW_MALLOC should be used rather than malloc within the runall
utility. This macro calls the guarded_malloc function which performs
@@ -44,11 +50,28 @@
#define RW_MALLOC(size) \
guarded_malloc(size, __FILE__, __LINE__)
+/**
+ Wrapper for malloc (), providing return value checking.
+
+ @param size number of bytes of memory to allocate
+ @param file name of file calling method
+ @param line line number in file method was called from
+ @return (non-null) pointer to allocated bock of memory
+*/
void* guarded_malloc (const size_t size, const char* const file,
const unsigned line);
#define RW_REALLOC(source, size) \
guarded_realloc(source, size, __FILE__, __LINE__)
+/**
+ Wrapper for realloc(), providing return value checking.
+
+ @param source pointer to memory block to reallocate
+ @param size number of bytes of memory to allocate
+ @param file name of file calling method
+ @param line line number in file method was called from
+ @return (non-null) pointer to allocated bock of memory
+*/
void* guarded_realloc (void* source, const size_t size,
const char* const file, const unsigned line);
@@ -74,4 +97,4 @@
@return translation of 'target.out'
*/
char* output_name (const char* target);
-#endif // RW_UTIL_H
+#endif /* RW_UTIL_H */