From 2a087f30a4e5d2b72e0bc046865bb7f5c4c5c22f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 16 Mar 1998 22:43:37 +0000 Subject: Added types, status of functions, cleaned up output of summarize. --- doc/posix1003.1/ch04.t | 10 +- doc/posix1003.1/ch05.t | 58 ++++++----- doc/posix1003.1/ch06.t | 41 ++++---- doc/posix1003.1/ch07.t | 29 ++++-- doc/posix1003.1/ch08.t | 259 +++++++++++++++++++++++----------------------- doc/posix1003.1/ch09.t | 18 ++-- doc/posix1003.1/ch10.t | 8 ++ doc/posix1003.1/ch11.t | 18 ++-- doc/posix1003.1/summarize | 104 ++++++++++++++----- 9 files changed, 316 insertions(+), 229 deletions(-) (limited to 'doc/posix1003.1') diff --git a/doc/posix1003.1/ch04.t b/doc/posix1003.1/ch04.t index b5944a3492..bcd6c4a09e 100644 --- a/doc/posix1003.1/ch04.t +++ b/doc/posix1003.1/ch04.t @@ -13,8 +13,8 @@ @subsection Get Process and Parent Process IDs @example -getpid(), Function -getppid(), Function +getpid(), Function, Dummy Implementation +getppid(), Function, Dummy Implementation @end example @section User Identification @@ -92,7 +92,7 @@ struct tms, Type, times(), Function, Implemented @end example -NOTE: times() always returns 0 for tms_stime, tms_cutime, and +NOTE: @code{times} always returns 0 for tms_stime, tms_cutime, and tms_cstime fields of the @code{struct tms} returned. @section Environment Variables @@ -115,8 +115,8 @@ ctermid(), Function, Unimplemented @example ttyname(), Function, Untested Implementation, assumes directory services -ttyname_r(), Unimplemented -isatty(), Function, Dummy Implementation +ttyname_r(), Function, Unimplemented +isatty(), Function, Partial Implementation @end example @section Configurable System Variables diff --git a/doc/posix1003.1/ch05.t b/doc/posix1003.1/ch05.t index eb46875d20..f6f4b8eefe 100644 --- a/doc/posix1003.1/ch05.t +++ b/doc/posix1003.1/ch05.t @@ -15,11 +15,12 @@ @subsection Directory Operations @example -opendir(), Function -readdir(), Function -readdir_r(), Function -rewinddir(), Function -closedir(), Function +struct dirent, Type, Unimplemented +opendir(), Function, Untested Implementation, assumes directory services +readdir(), Function, Untested Implementation, assumes directory services +readdir_r(), Function, Untested Implementation, assumes directory services +rewinddir(), Function, Untested Implementation, assumes directory services +closedir(), Function, Untested Implementation, assumes directory services @end example @section Working Directory @@ -27,13 +28,13 @@ closedir(), Function @subsection Change Current Working Directory @example -chdir(), Function +chdir(), Function, Unimplemented @end example @subsection Get Working Directory Pathname @example -getcwd(), Function +getcwd(), Function, Untested Implementation, assumes directory services @end example @section General File Creation @@ -41,25 +42,25 @@ getcwd(), Function @subsection Open a File @example -open(), Function +open(), Function, Implemented, requires rework for directory services @end example @subsection Create a New File or Rewrite an Existing One @example -creat(), Function +creat(), Function, Untested Implementation @end example @subsection Set File Creation Mask @example -umask(), Function +umask(), Function, Unimplemented @end example @subsection Link to a File @example -link(), Function +link(), Function, Dummy Implementation @end example @section Special File Creation @@ -67,13 +68,13 @@ link(), Function @subsection Make a Directory @example -mkdir(), Function +mkdir(), Function, Unimplemented, assumes directory services @end example @subsection Make a FIFO Special File @example -mkfifo(), Function +mkfifo(), Function, Unimplemented @end example @section File Removal @@ -81,68 +82,73 @@ mkfifo(), Function @subsection Remove Directory Entries @example -unlink(), Function +unlink(), Function, Dummy Implementation @end example @subsection Remove a Directory @example -rmdir(), Function +rmdir(), Function, Unimplemented @end example @subsection Rename a File @example -rename(), Function +rename(), Function, Untested Implementation, assumes link/unlink @end example @section File Characteristics @subsection File Characteristics Header and Data Structure +@example +struct stat, Type, Untested Implementation +@end example + @subsection Get File Status @example -stat(), Function -fstat(), Function +stat(), Function, Partial Implementation +fstat(), Function, Partial Implementation @end example @subsection Check File Accessibility @example -access(), Function +access(), Function, Unimplemented @end example @subsection Change File Modes @example -chmod(), Function -fchmod(), Function +chmod(), Function, Unimplemented +fchmod(), Function, Unimplemented @end example @subsection Change Owner and Group of a File @example -chown(), Function +chown(), Function, Unimplemented @end example @subsection Set File Access and Modification Times @example -utime(), Function +struct utimbuf, Type, +utime(), Function, Unimplemented @end example @subsection Truncate a File to a Specified Length @example -ftruncate(), Function +ftruncate(), Function, Unimplemented @end example @section Configurable Pathname Variable @example -pathconf(), Function -fpathconf(), Function +pathconf(), Function, Unimplemented +fpathconf(), Function, Unimplemented @end example @subsection Get Configurable Pathname Variables diff --git a/doc/posix1003.1/ch06.t b/doc/posix1003.1/ch06.t index d7607fef7f..b18c101342 100644 --- a/doc/posix1003.1/ch06.t +++ b/doc/posix1003.1/ch06.t @@ -13,7 +13,7 @@ @subsection Create an Inter-Process Channel @example -pipe(), Function +pipe(), Function, Unimplemented @end example @section File Descriptor Manipulation @@ -21,8 +21,8 @@ pipe(), Function @subsection Duplicate an Open File Descriptor @example -dup(), Function -dup2(), Function +dup(), Function, Unimplemented +dup2(), Function, Unimplemented @end example @section File Descriptor Deassignment @@ -30,7 +30,7 @@ dup2(), Function @subsection Close a File @example -close(), Function +close(), Function, Partial Implementation @end example @section Input and Output @@ -38,13 +38,13 @@ close(), Function @subsection Read from a File @example -read(), Function +read(), Function, Partial Implementation @end example @subsection Write to a File @example -write(), Function +write(), Function, Partial Implementation @end example @section Control Operations on Files @@ -54,13 +54,14 @@ write(), Function @subsection File Control @example -fcntl(), Function +struct flock, Type, Unimplemented +fcntl(), Function, Unimplemented @end example @subsection Reposition Read/Write File Offset @example -lseek(), Function +lseek(), Function, Partial Implementation @end example @section File Synchronization @@ -68,64 +69,68 @@ lseek(), Function @subsection Synchronize the State of a File @example -fsync(), Function +fsync(), Function, Unimplemented @end example @subsection Synchronize the Data of a File @example -fdatasync(), Function +fdatasync(), Function, Unimplemented @end example @section Asynchronous Input and Output @subsection Data Definitions for Asynchronous Input and Output +@example +struct aiocb, Type, Dummy Implementation +@end example + @subsection Asynchronous Read @example -aio_read(), Function +aio_read(), Function, Dummy Implementation @end example @subsection Asynchronous Write @example -aio_write(), Function +aio_write(), Function, Dummy Implementation @end example @subsection List Directed I/O @example -aio_listio(), Function +lio_listio(), Function, Dummy Implementation @end example @subsection Retrieve Error Status of Asynchronous I/O Operation @example -aio_error(), Function +aio_error(), Function, Dummy Implementation @end example @subsection Retrieve Return Status of Asynchronous I/O Operation @example -aio_return(), Function +aio_return(), Function, Dummy Implementation @end example @subsection Cancel Asynchronous I/O Request @example -aio_cancel(), Function +aio_cancel(), Function, Dummy Implementation @end example @subsection Wait for Asynchronous I/O Request @example -aio_suspend(), Function +aio_suspend(), Function, Dummy Implementation @end example @subsection Asynchronous File Synchronization @example -aio_fsync(), Function +aio_fsync(), Function, Dummy Implementation @end example diff --git a/doc/posix1003.1/ch07.t b/doc/posix1003.1/ch07.t index 164da01b93..1e6f797ce2 100644 --- a/doc/posix1003.1/ch07.t +++ b/doc/posix1003.1/ch07.t @@ -36,7 +36,11 @@ @subsection Parameters That Can Be Set -@subsubsection termios Structure +@subsubsection @code{termios} Structure + +@example +struct termios, Type, Partial Implementation +@end example @subsubsection Input Modes @@ -52,6 +56,13 @@ @subsubsection Baud Rate Functions +@example +cfgetospeed(), Function, Unimplemented +cfsetospeed(), Function, Unimplemented +cfgetispeed(), Function, Unimplemented +cfsetispeed(), Function, Unimplemented +@end example + @subsubsection Synopsis @subsubsection Description @@ -67,28 +78,28 @@ @subsection Get and Set State @example -tcgetattr(), Function -tcsetattr(), Function +tcgetattr(), Function, Implemented +tcsetattr(), Function, Implemented @end example @subsection Line Control Functions @example -tcsendbreak(), Function -tcdrain(), Function -tcflush(), Function -tcflow(), Function +tcsendbreak(), Function, Unimplemented +tcdrain(), Function, Unimplemented +tcflush(), Function, Unimplemented +tcflow(), Function, Unimplemented @end example @subsection Get Foreground Process Group ID @example -tcgetprgrp(), Function +tcgetprgrp(), Function, Unimplemented @end example @subsection Set Foreground Process Group ID @example -tcsetprgrp(), Function +tcsetprgrp(), Function, Unimplemented @end example diff --git a/doc/posix1003.1/ch08.t b/doc/posix1003.1/ch08.t index 1ed5a33bd9..e65fa67380 100644 --- a/doc/posix1003.1/ch08.t +++ b/doc/posix1003.1/ch08.t @@ -13,158 +13,160 @@ ANSI C Section 4.2 --- Diagnostics @example -assert(), Function +assert(), Function, Implemented @end example ANSI C Section 4.3 --- Character Handling @example -isalnum(), Function -isalpha(), Function -iscntrl(), Function -isdigit(), Function -isgraph(), Function -islower(), Function -isprint(), Function -ispunct(), Function -isspace(), Function -isupper(), Function -isxdigit(), Function -tolower(), Function -toupper(), Function +isalnum(), Function, Implemented +isalpha(), Function, Implemented +iscntrl(), Function, Implemented +isdigit(), Function, Implemented +isgraph(), Function, Implemented +islower(), Function, Implemented +isprint(), Function, Implemented +ispunct(), Function, Implemented +isspace(), Function, Implemented +isupper(), Function, Implemented +isxdigit(), Function, Implemented +tolower(), Function, Implemented +toupper(), Function, Implemented @end example ANSI C Section 4.4 --- Localization @example -setlocale(), Function +setlocale(), Function, Partial Implementation @end example ANSI C Section 4.5 --- Mathematics @example -acos(), Function -asin(), Function -atan(), Function -atan2(), Function -cos(), Function -sin(), Function -tan(), Function -cosh(), Function -sinh(), Function -tanh(), Function -exp(), Function -frexp(), Function -ldexp(), Function -log(), Function -log10(), Function -modf(), Function -pow(), Function -sqrt(), Function -ceil(), Function -fabs(), Function -floor(), Function -fmod(), Function +acos(), Function, Implemented +asin(), Function, Implemented +atan(), Function, Implemented +atan2(), Function, Implemented +cos(), Function, Implemented +sin(), Function, Implemented +tan(), Function, Implemented +cosh(), Function, Implemented +sinh(), Function, Implemented +tanh(), Function, Implemented +exp(), Function, Implemented +frexp(), Function, Implemented +ldexp(), Function, Implemented +log(), Function, Implemented +log10(), Function, Implemented +modf(), Function, Implemented +pow(), Function, Implemented +sqrt(), Function, Implemented +ceil(), Function, Implemented +fabs(), Function, Implemented +floor(), Function, Implemented +fmod(), Function, Implemented @end example ANSI C Section 4.6 --- Non-Local Jumps @example -setjmp(), Function -longjmp(), Function +setjmp(), Function, Implemented +longjmp(), Function, Implemented @end example ANSI C Section 4.9 --- Input/Output @example -clearerr(), Function -fclose(), Function -feof(), Function -ferror(), Function -fflush(), Function -fgetc(), Function -fgets(), Function -fopen(), Function -fputc(), Function -fputs(), Function -fread(), Function -freopen(), Function -fseek(), Function -ftell(), Function -fwrite(), Function -getc(), Function -getchar(), Function -gets(), Function -perror(), Function -printf(), Function -fprintf(), Function -sprintf(), Function -putc(), Function -putchar(), Function -puts(), Function -remove(), Function -rename(), Function -rewind(), Function -scanf(), Function -fscanf(), Function -sscanf(), Function -setbuf(), Function -tmpfile(), Function -tmpnam(), Function -ungetc(), Function +clearerr(), Function, Implemented +fclose(), Function, Implemented +feof(), Function, Implemented +ferror(), Function, Implemented +fflush(), Function, Implemented +fgetc(), Function, Implemented +fgets(), Function, Implemented +fopen(), Function, Implemented +fputc(), Function, Implemented +fputs(), Function, Implemented +fread(), Function, Implemented +freopen(), Function, Implemented +fseek(), Function, Implemented +ftell(), Function, Implemented +fwrite(), Function, Implemented +getc(), Function, Implemented +getchar(), Function, Implemented +gets(), Function, Implemented +perror(), Function, Implemented +printf(), Function, Implemented +fprintf(), Function, Implemented +sprintf(), Function, Implemented +putc(), Function, Implemented +putchar(), Function, Implemented +puts(), Function, Implemented +remove(), Function, Implemented +rename(), Function, Implemented +rewind(), Function, Implemented +scanf(), Function, Implemented +fscanf(), Function, Implemented +sscanf(), Function, Implemented +setbuf(), Function, Implemented +tmpfile(), Function, Implemented +tmpnam(), Function, Implemented +ungetc(), Function, Implemented @end example ANSI C Section 4.10 --- General Utilities @example -abs(), Function -atof(), Function -atoi(), Function -atol(), Function -rand(), Function -srand(), Function -calloc(), Function -free(), Function -malloc(), Function -realloc(), Function -abort(), Function -exit(), Function -getenv(), Function -bsearch(), Function -qsort(), Function +abs(), Function, Implemented +atof(), Function, Implemented +atoi(), Function, Implemented +atol(), Function, Implemented +rand(), Function, Implemented +srand(), Function, Implemented +calloc(), Function, Implemented +free(), Function, Implemented +malloc(), Function, Implemented +realloc(), Function, Implemented +abort(), Function, Implemented +exit(), Function, Implemented +getenv(), Function, Implemented +bsearch(), Function, Implemented +qsort(), Function, Implemented @end example ANSI C Section 4.11 --- String Handling @example -strcpy(), Function -strncpy(), Function -strcat(), Function -strncat(), Function -strcmp(), Function -strncmp(), Function -strchr(), Function -strcspn(), Function -strpbrk(), Function -strrchr(), Function -strspn(), Function -strstr(), Function -strtok(), Function -strlen(), Function +strcpy(), Function, Implemented +strncpy(), Function, Implemented +strcat(), Function, Implemented +strncat(), Function, Implemented +strcmp(), Function, Implemented +strncmp(), Function, Implemented +strchr(), Function, Implemented +strcspn(), Function, Implemented +strpbrk(), Function, Implemented +strrchr(), Function, Implemented +strspn(), Function, Implemented +strstr(), Function, Implemented +strtok(), Function, Implemented +strlen(), Function, Implemented @end example ANSI C Section 4.12 --- Date and Time Handling @example -time(), Function -asctime(), Function -ctime(), Function -gmtime(), Function -localtime(), Function -mktime(), Function -strftime(), Function +time(), Function, Implemented +asctime(), Function, Implemented +ctime(), Function, Implemented +gmtime(), Function, Implemented +localtime(), Function, Implemented +mktime(), Function, Implemented +strftime(), Function, Implemented @end example +NOTE: RTEMS has no notion of time zones. + @subsection Extensions to Time Functions @subsection Extensions to @code{setlocale} Function @@ -174,13 +176,13 @@ strftime(), Function @subsection Map a Stream Pointer to a File Descriptor @example -fileno(), Function +fileno(), Function, Implemented @end example @subsection Open a Stream on a File Descriptor @example -fdopen(), Function +fdopen(), Function, Implemented @end example @subsection Interactions of Other FILE-Type C Functions @@ -192,18 +194,18 @@ fdopen(), Function @subsection Stdio Locking Functions @example -flockfile(), Function -ftrylockfile(), Function -funlockfile(), Function +flockfile(), Function, Unimplemented +ftrylockfile(), Function, Unimplemented +funlockfile(), Function, Unimplemented @end example @subsection Stdio With Explicit Client Locking @example -getc_unlocked(), Function -getchar_unlocked(), Function -putc_unlocked(), Function -putchar_unlocked(), Function +getc_unlocked(), Function, Unimplemented +getchar_unlocked(), Function, Unimplemented +putc_unlocked(), Function, Unimplemented +putchar_unlocked(), Function, Unimplemented @end example @section Other C Language Functions @@ -211,50 +213,49 @@ putchar_unlocked(), Function @subsection Nonlocal Jumps @example -sigsetjmp(), Function -siglongjmp(), Function +sigsetjmp(), Function, Unimplemented +siglongjmp(), Function, Unimplemented @end example @subsection Set Time Zone @example -tzset(), Function +tzset(), Function, Unimplemented @end example @subsection Find String Token @example -strtok_r(), Function +strtok_r(), Function, Implemented @end example @subsection ASCII Time Representation @example -asctime_r(), Function +asctime_r(), Function, Implemented @end example @subsection Current Time Representation @example -ctime_r(), Function +ctime_r(), Function, Implemented @end example @subsection Coordinated Universal Time @example -gmtime_r(), Function +gmtime_r(), Function, Implemented @end example @subsection Local Time @example -localtime_r(), Function +localtime_r(), Function, Implemented @end example @subsection Pseudo-Random Sequence Generation Functions @example -rand_r(), Function +rand_r(), Function, Implemented @end example - diff --git a/doc/posix1003.1/ch09.t b/doc/posix1003.1/ch09.t index 21eb3462c5..1ef42568c6 100644 --- a/doc/posix1003.1/ch09.t +++ b/doc/posix1003.1/ch09.t @@ -15,18 +15,20 @@ @subsection Group Database Access @example -getgrgid(), Function -getgrgid_r(), Function -getgrname(), Function -getgrnam_r(), Function +struct group, Type, +getgrgid(), Function, Unimplemented +getgrgid_r(), Function, Unimplemented +getgrname(), Function, Unimplemented +getgrnam_r(), Function, Unimplemented @end example @subsection User Database Access @example -getpwuid(), Function -getpwuid_r(), Function -getpwnam(), Function -getpwnam_r(), Function +struct passwd, Type, +getpwuid(), Function, Untested Implemented, assumes /etc/passwd exists +getpwuid_r(), Function, Unimplemented +getpwnam(), Function, Untested Implemented, assumes /etc/passwd exists +getpwnam_r(), Function, Unimplemented @end example diff --git a/doc/posix1003.1/ch10.t b/doc/posix1003.1/ch10.t index b57adfdcd1..7368c46ecb 100644 --- a/doc/posix1003.1/ch10.t +++ b/doc/posix1003.1/ch10.t @@ -12,7 +12,15 @@ @subsection Extended tar Format +@example +tar format, Type, +@end example + @subsection Extended cpio Format +@example +cpio format, Type, +@end example + @subsection Multiple Volumes diff --git a/doc/posix1003.1/ch11.t b/doc/posix1003.1/ch11.t index 23cb2edfb0..fededd6ac5 100644 --- a/doc/posix1003.1/ch11.t +++ b/doc/posix1003.1/ch11.t @@ -15,50 +15,50 @@ @subsection Initialize an Unnamed Semaphore @example -sem_init(), Function +sem_init(), Function, Untested Implementation @end example @subsection Destroy an Unnamed Semaphore @example -sem__destroy(), Function +sem_destroy(), Function, Untested Implementation @end example @subsection Initialize/Open a Named Semaphore @example -sem_open(), Function +sem_open(), Function, Untested Implementation @end example @subsection Close a Named Semaphore @example -sem_close(), Function +sem_close(), Function, Untested Implementation @end example @subsection Remove a Named Semaphore @example -sem_unlink(), Function +sem_unlink(), Function, Untested Implementation @end example @subsection Lock a Semaphore @example -sem_wait(), Function -sem_trywait(), Function +sem_wait(), Function, Untested Implementation +sem_trywait(), Function, Untested Implementation @end example @subsection Unlock a Semaphore @example -sem_post(), Function +sem_post(), Function, Untested Implementation @end example @subsection Get the Value of a Semaphore @example -sem_getvalue(), Function +sem_getvalue(), Function, Untested Implementation @end example @section Mutexes diff --git a/doc/posix1003.1/summarize b/doc/posix1003.1/summarize index bbe954acd2..c60ce3a6d9 100755 --- a/doc/posix1003.1/summarize +++ b/doc/posix1003.1/summarize @@ -14,61 +14,115 @@ echo wc2() { - grep "$1" $2 | wc -l + pattern=$1 + shift + grep "${pattern}" $* | wc -l } wc3() { - grep "$1" $2 | grep "$3" | wc -l + pattern=$1 + filter=$2 + shift ; shift + grep "${pattern}" $* | grep "${filter}" | wc -l +} + +# adds the numbers passed on the command line +addit() +{ + sumx=0 + for x in $* + do + sumx=`expr $sumx + $x` + done + echo $sumx } summarize_chapter() { - grep "^@chapter" $1 | \ - sed -e "s/^.chapter/@section/" \ - -e "s/$/ Chapter/" + echo + # takes at least 3.0 inches for each generated section + echo "@need 3000" + if [ $# -eq 1 ] ; then + grep "^@chapter" $1 | \ + sed -e "s/^.chapter/@section/" \ + -e "s/$/ Chapter/" + else + echo "@section Overall Summary" + fi + echo - functions_total=`wc2 "()" $1 ` - functions_implemented=`wc3 "()" $1 "Implemented"` - functions_unimplemented=`wc3 "()" $1 "Unimplemented"` - functions_unmplementable=`wc3 "()" $1 "Unimplementable"` - functions_dummy=`wc3 "()" $1 "Dummy Implementation"` - functions_untested=`wc3 "()" $1 "Untested Implementation"` + functions_total=`wc2 "()" $*` + functions_implemented=` wc3 "()" "Implemented" $*` + functions_unimplemented=` wc3 "()" "Unimplemented" $*` + functions_unmplementable=`wc3 "()" "Unimplementable" $*` + functions_partial=` wc3 "()" "Partial Implementation" $*` + functions_dummy=` wc3 "()" "Dummy Implementation" $*` + functions_untested=` wc3 "()" "Untested Implementation" $*` - datatypes_total=`grep "Type," $1 | wc -l` - datatypes_implemented=`grep "Type," $1 | grep Implemented | wc -l` - datatypes_unimplemented=`grep "Type," $1 | grep Unimplemented | wc -l` - datatypes_unmplementable=`grep "Type," $1 | grep Unimplementable | wc -l` + functions_sum=`addit ${functions_implemented} \ + ${functions_unimplemented} ${functions_unmplementable} \ + ${functions_partial} ${functions_dummy} \ + ${functions_untested}` + + datatypes_total=`wc2 "Type," $*` + datatypes_implemented=` wc3 "Type," "Implemented" $*` + datatypes_unimplemented=` wc3 "Type," "Unimplemented" $*` + datatypes_unmplementable=`wc3 "Type," "Unimplementable" $*` + datatypes_partial=` wc3 "Type," "Partial Implementation" $*` + datatypes_dummy=` wc3 "Type," "Dummy Implementation" $*` + + datatypes_sum=`addit ${datatypes_implemented} \ + ${datatypes_unimplemented} ${datatypes_unmplementable} \ + ${datatypes_partial} ${datatypes_dummy} \ + ${datatypes_untested}` echo "@example" echo "Functions:" - echo " Total Number : ${functions_total}" - echo " Implemented : ${functions_implemented}" - echo " Unimplemented : ${functions_unimplemented}" - echo " Unimplementable: ${functions_unmplementable}" - echo " Working Dummies: ${functions_dummy}" - echo " Untested : ${functions_untested}" + echo " Total Number : ${functions_total}" + echo " Implemented : ${functions_implemented}" + echo " Unimplemented : ${functions_unimplemented}" + echo " Unimplementable : ${functions_unmplementable}" + echo " Partial : ${functions_partial}" + echo " Dummy : ${functions_dummy}" + echo " Untested : ${functions_untested}" echo "@end example" echo + if [ ${functions_sum} -ne ${functions_total} ] ; then + echo "@sp" + echo "@center{@b{FUNCTION COUNTS DO NOT ADD UP!!}}" + echo "@sp" + fi echo "@example" echo "Data Types:" - echo " Total Number : ${datatypes_total}" - echo " Implemented : ${datatypes_implemented}" - echo " Unimplemented : ${datatypes_unimplemented}" - echo " Unimplementable: ${datatypes_unmplementable}" + echo " Total Number : ${datatypes_total}" + echo " Implemented : ${datatypes_implemented}" + echo " Unimplemented : ${datatypes_unimplemented}" + echo " Unimplementable : ${datatypes_unmplementable}" + echo " Partial : ${datatypes_partial}" + echo " Dummy : ${datatypes_dummy}" echo "@end example" echo + if [ ${datatypes_sum} -ne ${datatypes_total} ] ; then + echo "@sp" + echo "@center{@b{DATA TYPE COUNTS DO NOT ADD UP!!}}" + echo "@sp" + fi } chapters="ch01.t ch02.t ch03.t ch04.t ch05.t ch06.t ch07.t ch08.t \ ch09.t ch10.t ch11.t ch12.t ch13.t ch14.t ch15.t ch16.t ch17.t ch18.t" + +# go through the chapters one at a time for chapter in ${chapters} do summarize_chapter $chapter done +# now generate the overall summary +summarize_chapter ${chapters} -- cgit v1.2.3