You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@locus.apache.org on 2000/09/18 13:44:46 UTC

cvs commit: httpd-docs-1.3/apidoc dict-B_SFIO.html dict-ap_array_pstrcat.html todo TODO api.list

coar        00/09/18 04:44:46

  Modified:    apidoc   TODO api.list
  Added:       apidoc   dict-B_SFIO.html dict-ap_array_pstrcat.html todo
  Log:
  	Add a couple of detail files and update the TODO list with info
  	autogenerated from the todo Perl script.  NOTE: Don't *replace*
  	the TODO file with the script's output; the file contains some
  	subjective information about missing items and stale/poor content.
  
  Revision  Changes    Path
  1.9       +720 -1    httpd-docs-1.3/apidoc/TODO
  
  Index: TODO
  ===================================================================
  RCS file: /home/cvs/httpd-docs-1.3/apidoc/TODO,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -u -r1.8 -r1.9
  --- TODO	2000/08/09 14:01:51	1.8
  +++ TODO	2000/09/18 11:44:45	1.9
  @@ -592,4 +592,723 @@
   SECURITY_HOLE_PASS_AUTHORIZATION
   server_addr_rec
   short_score
  -uri_components
  +
  +The following items need exampless:
  + APLOG_LEVELMASK
  + APLOG_WIN32ERROR
  + ap_base64decode
  + ap_base64decode_binary
  + ap_base64decode_len
  + ap_base64encode
  + ap_base64encode_binary
  + ap_base64encode_len
  + ap_bfileno
  + ap_bflsbuf
  + ap_bflush
  + ap_bgetflag
  + ap_bgetopt
  + ap_bgets
  + ap_bhalfduplex
  + ap_block_alarms
  + ap_blookc
  + ap_bnonblock
  + ap_bonerror
  + ap_bprintf
  + ap_bpushfd
  + ap_bpushh
  + ap_bputc
  + ap_bputs
  + ap_bread
  + ap_bsetflag
  + ap_bsetopt
  + ap_bskiplf
  + ap_bspawn_child
  + ap_bvputs
  + ap_bwrite
  + ap_bytes_in_free_blocks
  + ap_bytes_in_pool
  + ap_call_exec
  + ap_can_exec
  + ap_cfg_closefile
  + ap_cfg_getc
  + ap_cfg_getline
  + ap_chdir_file
  + ap_checkmask
  + ap_check_alarm
  + ap_check_cmd_context
  + ap_child_exit_modules
  + ap_child_init_modules
  + ap_cleanup_for_exec
  + ap_clear_module_list
  + ap_clear_pool
  + ap_clear_table
  + ap_close_piped_log
  + ap_construct_server
  + ap_construct_url
  + ap_content_type_tolower
  + ap_copy_array
  + ap_copy_array_hdr
  + ap_copy_table
  + ap_core_reorder_directories
  + ap_count_dirs
  + ap_create_environment
  + ap_create_per_dir_config
  + ap_create_request_config
  + ap_daemons_limit
  + ap_daemons_max_free
  + ap_daemons_min_free
  + ap_daemons_to_start
  + ap_default_port_for_request
  + ap_default_port_for_scheme
  + ap_default_type
  + ap_destroy_pool
  + ap_die
  + ap_each_byterange
  + ap_error_log2stderr
  + ap_escape_html
  + ap_escape_path
  + ap_escape_path_segment
  + ap_escape_shell_cmd
  + ap_excess_requests_per_child
  + ap_exists_config_define
  + ap_exists_scoreboard_image
  + ap_extended_status
  + ap_find_command
  + ap_find_command_in_modules
  + ap_find_last_token
  + ap_find_linked_module
  + ap_find_list_item
  + ap_find_module_name
  + ap_find_path_info
  + ap_find_token
  + ap_fini_vhost_config
  + ap_force_library_loading
  + ap_getparents
  + ap_getpass
  + ap_getword
  + ap_getword_conf
  + ap_getword_conf_nc
  + ap_getword_nc
  + ap_getword_nulls
  + ap_getword_nulls_nc
  + ap_getword_white
  + ap_getword_white_nc
  + ap_get_basic_auth_pw
  + ap_get_client_block
  + ap_get_gmtoff
  + ap_get_limit_req_body
  + ap_get_list_item
  + ap_get_local_host
  + ap_get_module_config
  + ap_get_remote_host
  + ap_get_remote_logname
  + ap_get_time
  + ap_get_token
  + ap_get_virthost_addr
  + ap_get_win32_interpreter
  + ap_gm_timestr_822
  + ap_gname2id
  + ap_group_id
  + ap_handle_command
  + ap_hard_timeout
  + ap_ht_time
  + ap_ind
  + ap_index_of_response
  + ap_init_alloc
  + ap_init_modules
  + ap_init_vhost_config
  + ap_init_virtual_host
  + ap_internal_redirect
  + ap_internal_redirect_handler
  + ap_is_directory
  + ap_is_fnmatch
  + ap_is_matchexp
  + ap_is_url
  + ap_keepalive_timeout
  + ap_kill_cleanup
  + ap_kill_cleanups_for_fd
  + ap_kill_cleanups_for_socket
  + ap_limit_section
  + ap_loaded_modules
  + ap_log_assert
  + ap_log_error
  + ap_log_pid
  + ap_log_printf
  + ap_log_reason
  + ap_log_rerror
  + ap_log_unixerr
  + ap_make_array
  + ap_make_dirstr
  + ap_make_dirstr_parent
  + ap_make_dirstr_prefix
  + ap_make_etag
  + ap_make_full_path
  + ap_make_sub_pool
  + ap_make_table
  + ap_matches_request_vhost
  + ap_max_requests_per_child
  + ap_md5
  + ap_md5context
  + ap_md5contextTo64
  + ap_md5digest
  + ap_MD5Encode
  + ap_MD5Final
  + ap_MD5Init
  + ap_MD5Update
  + ap_md5_binary
  + ap_merge_per_dir_configs
  + ap_method_number_of
  + ap_my_generation
  + ap_no2slash
  + ap_note_cleanups_for_fd
  + ap_note_cleanups_for_file
  + ap_note_cleanups_for_h
  + ap_note_cleanups_for_socket
  + ap_note_subprocess
  + ap_null_cleanup
  + ap_open_logs
  + ap_open_piped_log
  + ap_os_case_canonical_filename
  + ap_os_escape_path
  + ap_os_is_filename_valid
  + ap_os_is_path_absolute
  + ap_os_systemcase_filename
  + ap_overlap_tables
  + ap_overlay_tables
  + ap_palloc
  + ap_parseHTTPdate
  + ap_parse_htaccess
  + ap_parse_uri
  + ap_parse_uri_components
  + ap_parse_vhost_addrs
  + ap_pbase64decode
  + ap_pbase64encode
  + ap_pcalloc
  + ap_pcfg_openfile
  + ap_pcfg_open_custom
  + ap_pclosedir
  + ap_pclosef
  + ap_pcloseh
  + ap_pclosesocket
  + ap_pduphostent
  + ap_pfclose
  + ap_pfdopen
  + ap_pfopen
  + ap_pgethostbyname
  + ap_pid_fname
  + ap_pool
  + ap_pool_is_ancestor
  + ap_pool_join
  + ap_popendir
  + ap_popenf
  + ap_pregcomp
  + ap_pregfree
  + ap_pregsub
  + ap_psignature
  + ap_psocket
  + ap_pstrcat
  + ap_pstrdup
  + ap_pstrndup
  + ap_read_config
  + ap_read_request
  + ap_regerror
  + ap_regexec
  + ap_register_cleanup
  + ap_register_other_child
  + ap_registry_get_server_root
  + ap_registry_get_service_conf
  + ap_registry_set_service_conf
  + ap_release_mutex
  + ap_remove_module
  + ap_remove_spaces
  + ap_requires
  + ap_response_code_string
  + ap_rfc1413
  + ap_rind
  + ap_rprintf
  + ap_rputc
  + ap_rputs
  + ap_run_cleanup
  + ap_rvputs
  + ap_rwrite
  + ap_scan_script_header_err
  + ap_scan_script_header_err_buff
  + ap_scan_script_header_err_core
  + ap_scoreboard_fname
  + ap_send_error_response
  + ap_send_fb
  + ap_send_fb_length
  + ap_send_fd
  + ap_send_fd_length
  + ap_send_header_field
  + ap_send_mmap
  + ap_send_size
  + ap_server_confname
  + ap_server_root_relative
  + ap_setup_client_block
  + ap_set_callback_and_alarm
  + ap_set_content_length
  + ap_set_file_slot
  + ap_set_flag_slot
  + ap_set_module_config
  + ap_set_name_virtual_host
  + ap_set_string_slot
  + ap_set_string_slot_lower
  + ap_set_sub_req_protocol
  + ap_SHA1Final
  + ap_SHA1Init
  + ap_SHA1Update
  + ap_SHA1Update_binary
  + ap_sha1_base64
  + ap_size_list_item
  + ap_soft_timeout
  + ap_spawn_child
  + ap_spawn_child_err
  + ap_spawn_child_err_buff
  + ap_srm_command_loop
  + ap_standalone
  + ap_start_restart
  + ap_strcasecmp_match
  + ap_strcasestr
  + ap_strcmp_match
  + ap_str_tolower
  + ap_sub_req_lookup_file
  + ap_sub_req_lookup_uri
  + ap_sub_req_method_uri
  + ap_table_add
  + ap_table_addn
  + ap_table_do
  + ap_table_get
  + ap_table_merge
  + ap_table_mergen
  + ap_table_set
  + ap_table_setn
  + ap_table_unset
  + ap_threads_per_child
  + ap_time_process_request
  + ap_tm2sec
  + ap_to64
  + ap_uname2id
  + ap_unblock_alarms
  + ap_unescape_url
  + ap_unparse_uri_components
  + ap_unregister_other_child
  + ap_update_child_status
  + ap_update_mtime
  + ap_update_vhost_given_ip
  + ap_user_id
  + ap_user_name
  + ap_uudecode
  + ap_uuencode
  + ap_vbprintf
  + ap_vformatter
  + ap_vformatter_buff
  + ap_vrprintf
  + ascii2ebcdic
  + BO_BYTECT
  + BUFF
  + B_ASCII2EBCDIC
  + B_CHUNK
  + B_EBCDIC2ASCII
  + B_EOF
  + B_EOUT
  + B_ERROR
  + B_RD
  + B_RDERR
  + B_RDWR
  + B_SAFEREAD
  + B_SFIO
  + B_SOCKET
  + B_WR
  + B_WRERR
  + closedir
  + cmd_parms
  + command_rec
  + configfile_t
  + conn_rec
  + ebcdic2ascii
  + FNM_CASE_BLIND
  + FNM_NOESCAPE
  + FNM_NOMATCH
  + FNM_PATHNAME
  + FNM_PERIOD
  + HANDLE
  + HTTP_VERSION
  + MODULE_MAGIC_AT_LEAST
  + MODULE_MAGIC_COOKIE
  + MODULE_MAGIC_NUMBER_MAJOR
  + MODULE_MAGIC_NUMBER_MINOR
  + opendir
  + OS_ASC
  + os_spawnle
  + os_spawnv
  + os_spawnve
  + os_stat
  + os_strftime
  + piped_log
  + proxyreqtype
  + readdir
  + regcomp
  + regerror
  + regexec
  + regex_t
  + regfree
  + regmatch_t
  + REQUEST_CHUNKED_DECHUNK
  + REQUEST_CHUNKED_ERROR
  + REQUEST_CHUNKED_PASS
  + REQUEST_NO_BODY
  + request_rec
  + scoreboard
  + server_addr_rec
  + server_rec
  + short_score
  + STANDARD_MODULE_STUFF
  + uri_components
  +The following items have defined detail files that don't exist:
  + APLOG_ALERT
  + APLOG_CRIT
  + APLOG_DEBUG
  + APLOG_EMERG
  + APLOG_ERR
  + APLOG_INFO
  + APLOG_LEVELMASK
  + APLOG_MARK
  + APLOG_NOERRNO
  + APLOG_NOTICE
  + APLOG_WARNING
  + APLOG_WIN32ERROR
  + ap_add_module
  + ap_add_named_module
  + ap_add_per_url_conf
  + ap_allow_overrides
  + ap_basic_http_header
  + ap_bclose
  + ap_bcreate
  + ap_bfileno
  + ap_bflsbuf
  + ap_bflush
  + ap_bgetc
  + ap_bgetflag
  + ap_bgetopt
  + ap_bgets
  + ap_bhalfduplex
  + ap_blookc
  + ap_bnonblock
  + ap_bonerror
  + ap_bpushfd
  + ap_bpushh
  + ap_bputc
  + ap_bputs
  + ap_bread
  + ap_bsetflag
  + ap_bsetopt
  + ap_bskiplf
  + ap_bspawn_child
  + ap_bvputs
  + ap_bwrite
  + ap_checkmask
  + ap_check_access
  + ap_check_alarm
  + ap_check_auth
  + ap_check_cmd_context
  + ap_check_user_id
  + ap_child_exit_modules
  + ap_child_init_modules
  + ap_child_terminate
  + ap_clear_module_list
  + ap_close_piped_log
  + ap_content_type_tolower
  + ap_core_reorder_directories
  + ap_create_environment
  + ap_create_per_dir_config
  + ap_create_request_config
  + ap_default_port_for_request
  + ap_default_port_for_scheme
  + ap_default_type
  + ap_die
  + ap_discard_request_body
  + ap_each_byterange
  + ap_error_log2stderr
  + ap_exists_scoreboard_image
  + ap_finalize_request_protocol
  + ap_finalize_sub_req_protocol
  + ap_find_command
  + ap_find_command_in_modules
  + ap_find_last_token
  + ap_find_linked_module
  + ap_find_module_name
  + ap_find_path_info
  + ap_find_pool
  + ap_find_types
  + ap_fini_vhost_config
  + ap_force_library_loading
  + ap_get_basic_auth_pw
  + ap_get_module_config
  + ap_get_remote_host
  + ap_get_remote_logname
  + ap_handle_command
  + ap_header_parse
  + ap_ind
  + ap_index_of_response
  + ap_init_alloc
  + ap_init_modules
  + ap_init_vhost_config
  + ap_init_virtual_host
  + ap_invoke_handler
  + ap_is_fnmatch
  + ap_is_initial_req
  + ap_limit_section
  + ap_log_error
  + ap_log_pid
  + ap_log_printf
  + ap_log_reason
  + ap_log_rerror
  + ap_log_transaction
  + ap_log_unixerr
  + ap_make_dirstr_parent
  + ap_make_dirstr_prefix
  + ap_matches_request_vhost
  + ap_md5
  + ap_md5context
  + ap_md5contextTo64
  + ap_md5digest
  + ap_MD5Final
  + ap_MD5Init
  + ap_MD5Update
  + AP_MD5_CTX
  + ap_meets_conditions
  + ap_merge_per_dir_configs
  + ap_note_auth_failure
  + ap_note_basic_auth_failure
  + ap_note_digest_auth_failure
  + ap_null_cleanup
  + ap_open_logs
  + ap_open_piped_log
  + ap_os_is_path_absolute
  + ap_parse_htaccess
  + ap_parse_uri
  + ap_parse_uri_components
  + ap_parse_vhost_addrs
  + ap_pcfg_openfile
  + ap_pcfg_open_custom
  + ap_pclosedir
  + ap_pclosesocket
  + ap_pduphostent
  + ap_pgethostbyname
  + ap_pool_is_ancestor
  + ap_pool_join
  + ap_popendir
  + ap_pregfree
  + ap_process_request
  + ap_process_resource_config
  + ap_psignature
  + ap_psocket
  + ap_read_config
  + ap_read_request
  + ap_register_other_child
  + ap_remove_loaded_module
  + ap_remove_module
  + ap_requires
  + ap_response_code_string
  + ap_rfc1413
  + ap_rflush
  + ap_rind
  + ap_run_fixups
  + ap_run_post_read_request
  + ap_rwrite
  + ap_satisfies
  + ap_scan_script_header_err
  + ap_scan_script_header_err_buff
  + ap_send_error_response
  + ap_send_header_field
  + ap_send_http_options
  + ap_send_http_trace
  + ap_send_mmap
  + ap_send_size
  + ap_server_root_relative
  + ap_setup_prelinked_modules
  + ap_set_byterange
  + ap_set_callback_and_alarm
  + ap_set_content_length
  + ap_set_etag
  + ap_set_file_slot
  + ap_set_flag_slot
  + ap_set_keepalive
  + ap_set_last_modified
  + ap_set_module_config
  + ap_set_name_virtual_host
  + ap_set_string_slot
  + ap_set_string_slot_lower
  + ap_set_sub_req_protocol
  + ap_show_directives
  + ap_show_modules
  + ap_some_auth_required
  + ap_srm_command_loop
  + ap_start_restart
  + ap_start_shutdown
  + ap_str_tolower
  + ap_sync_scoreboard_image
  + ap_table_do
  + ap_time_process_request
  + ap_translate_name
  + ap_unparse_uri_components
  + ap_unregister_other_child
  + ap_update_child_status
  + ap_update_mtime
  + ap_update_vhost_from_headers
  + ap_update_vhost_given_ip
  + ap_util_init
  + ap_util_uri_init
  + ap_validate_password
  + ap_vformatter
  + ap_vformatter_buff
  + ap_wait_t
  + array_header
  + BO_BYTECT
  + BUFF
  + B_ASCII2EBCDIC
  + B_CHUNK
  + B_EBCDIC2ASCII
  + B_EOF
  + B_EOUT
  + B_ERROR
  + B_RD
  + B_RDERR
  + B_RDWR
  + B_SAFEREAD
  + B_SOCKET
  + B_WR
  + B_WRERR
  + command_rec
  + configfile_t
  + DECLINE_CMD
  + DEFAULT_ADMIN
  + FNM_CASE_BLIND
  + FNM_NOESCAPE
  + FNM_NOMATCH
  + FNM_PATHNAME
  + FNM_PERIOD
  + HTTP_EXPECTATION_FAILED
  + HTTP_FAILED_DEPENDENCY
  + HTTP_INSUFFICIENT_STORAGE
  + HTTP_LOCKED
  + HTTP_NOT_EXTENDED
  + HTTP_PROCESSING
  + HTTP_RANGE_NOT_SATISFIABLE
  + HTTP_UNPROCESSABLE_ENTITY
  + HTTP_VERSION
  + HTTP_VERSION_MAJOR
  + HTTP_VERSION_MINOR
  + MODULE_MAGIC_COOKIE
  + MODULE_MAGIC_NUMBER_MAJOR
  + MODULE_MAGIC_NUMBER_MINOR
  + M_COPY
  + M_LOCK
  + M_MKCOL
  + M_MOVE
  + M_PATCH
  + M_PROPFIND
  + M_UNLOCK
  + OPT_ALL
  + OPT_EXECCGI
  + OPT_INCLUDES
  + OPT_INCNOEXEC
  + OPT_INDEXES
  + OPT_MULTI
  + OPT_NONE
  + OPT_SYM_LINKS
  + OPT_SYM_OWNER
  + OPT_UNSET
  + OS_ASC
  + piped_log
  + proxyreqtype
  + regex_t
  + regmatch_t
  + REQUEST_CHUNKED_DECHUNK
  + REQUEST_CHUNKED_ERROR
  + REQUEST_CHUNKED_PASS
  + REQUEST_NO_BODY
  + scoreboard
  + server_addr_rec
  + short_score
  + STANDARD_MODULE_STUFF
  + uri_components
  +The following items have no descriptions nor detail files:
  + ap_base64decode
  + ap_base64decode_binary
  + ap_base64decode_len
  + ap_base64encode
  + ap_base64encode_binary
  + ap_base64encode_len
  + ap_daemons_limit
  + ap_daemons_max_free
  + ap_daemons_min_free
  + ap_daemons_to_start
  + ap_excess_requests_per_child
  + ap_exists_config_define
  + ap_extended_status
  + ap_find_list_item
  + ap_getpass
  + ap_get_limit_req_body
  + ap_get_list_item
  + ap_get_win32_interpreter
  + ap_group_id
  + ap_loaded_modules
  + ap_log_assert
  + ap_make_etag
  + ap_max_requests_per_child
  + ap_MD5Encode
  + ap_md5_binary
  + ap_method_number_of
  + ap_my_generation
  + ap_note_cleanups_for_h
  + ap_os_case_canonical_filename
  + ap_os_escape_path
  + ap_os_is_filename_valid
  + ap_os_systemcase_filename
  + ap_overlap_tables
  + ap_pbase64decode
  + ap_pbase64encode
  + ap_pcloseh
  + ap_pid_fname
  + ap_regerror
  + ap_regexec
  + ap_registry_get_server_root
  + ap_registry_get_service_conf
  + ap_registry_set_service_conf
  + ap_release_mutex
  + ap_remove_spaces
  + ap_scan_script_header_err_core
  + ap_scoreboard_fname
  + ap_server_confname
  + ap_SHA1Final
  + ap_SHA1Init
  + ap_SHA1Update
  + ap_SHA1Update_binary
  + ap_sha1_base64
  + ap_size_list_item
  + ap_spawn_child
  + ap_standalone
  + ap_strcasestr
  + ap_sub_req_method_uri
  + ap_threads_per_child
  + ap_to64
  + ap_user_id
  + ap_user_name
  + ap_uuencode
  + ap_vrprintf
  + ascii2ebcdic
  + closedir
  + ebcdic2ascii
  + opendir
  + os_spawnle
  + os_spawnv
  + os_spawnve
  + os_stat
  + os_strftime
  + readdir
  + regcomp
  + regerror
  + regexec
  + regfree
  
  
  
  1.29      +3 -3      httpd-docs-1.3/apidoc/api.list
  
  Index: api.list
  ===================================================================
  RCS file: /home/cvs/httpd-docs-1.3/apidoc/api.list,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -u -r1.28 -r1.29
  --- api.list	2000/09/18 01:58:01	1.28
  +++ api.list	2000/09/18 11:44:45	1.29
  @@ -1687,8 +1687,8 @@
       |\
       |
   C|B_SFIO\
  +    |env CFLAGS="-Wall -D$*" ./configure\
       |\
  -    |\
       |SA-BUFF\
       |<dict-$*.html
   C|BO_BYTECT\
  @@ -3994,9 +3994,9 @@
       |
   R|ap_array_pstrcat\
       |char *$*(pool *p, const array_header *arr, const char sep);\
  -    |\
  +    |lang = $*(r-&gt;pool, variant-&gt;content_languages, ',');\
       |\
  -    |
  +    |<dict-$*.html
   R|ap_base64decode\
       |int $*(char *plain_dst, const char *coded_src);\
       |\
  
  
  
  1.1                  httpd-docs-1.3/apidoc/dict-B_SFIO.html
  
  Index: dict-B_SFIO.html
  ===================================================================
  <p>
  If this name is defined, Apache's buffering routines will use
  the <code>sfwrite</code> and <code>sfread</code>.  However,
  this name is never defined by default or by any of Apache's
  build configuration script; the builder must define it
  explicitly as shown in the example.
  </p>
  
  
  
  1.1                  httpd-docs-1.3/apidoc/dict-ap_array_pstrcat.html
  
  Index: dict-ap_array_pstrcat.html
  ===================================================================
  <p>
  This routine returns a pointer to a string composed of all the values in the
  specified array, separated by the designated delimiter character.
  The string is allocated from the specified pool.
  </p>
  <p>
  <b>Note:</b> This routine assumes that each array element consists
  simply of a <code>char&nbsp;*</code> pointer (such as created by a
  <code>ap_make_array(p,&nbsp;4,&nbsp;sizeof(char&nbsp;*))</code> call).
  It cannot be used with other or more complex types of array elements;
  results are unpredictable, and a mmory fault is almost guaranteed if
  used with such.
  </p>
  
  
  
  1.1                  httpd-docs-1.3/apidoc/todo
  
  Index: todo
  ===================================================================
  #!/usr/local/bin/perl -w
  #
  # Examine the dictionary and note what remains to be done.
  #
  
  use APIdict;
  
  $dict = new APIdict("api.list");
  
  @items = $dict->entity_list();
  foreach (@items) {
      push(@temp, $_)
          if ($dict->category($_) ne 'X');
  }
  @items = sort {uc($a) cmp uc($b)} (@temp);
  
  #
  # First, find out which ones don't even have definitions..
  #
  @missing_def = ();
  foreach (@items) {
      push(@missing_def, $_)
          if (! $dict->definition($_));
  }
  
  #
  # Now find out which ones need one or more examples.
  #
  @missing_example = ();
  foreach (@items) {
      push(@missing_example, $_)
          if (! $dict->example($_));
  }
  
  #
  # Finally, the ones that don't have a description.
  #
  @missing_desc = ();
  @missing_dfile = ();
  foreach (@items) {
      my($file) = $dict->description_file($_);
      if ($file && (! -r $file)) {
          push(@missing_dfile, $_);
      }
      elsif ((! $file) && (! $dict->description($_))) {
          push(@missing_desc, $_);
      }
  }
  
  #
  # Now display the results.
  #
  if (@missing_def) {
      print "The following items need definitions:\n";
      foreach (@missing_def) {
          print " $_\n";
      }
  }
  
  if (@missing_example) {
      print "The following items need exampless:\n";
      foreach (@missing_example) {
          print " $_\n";
      }
  }
  
  if (@missing_dfile) {
      print "The following items have defined detail files that don't exist:\n";
      foreach (@missing_dfile) {
          print " $_\n";
      }
  }
  
  if (@missing_desc) {
      print "The following items have no descriptions nor detail files:\n";
      foreach (@missing_desc) {
          print " $_\n";
      }
  }