Ulrich Wilkens | 24 Sep 00:07 2014
Picon

[PATCH] Resolve many build warnings

Resolve many build warnings 

This patch fixes many warnings from the beginning of the build up to
and including the depend stage. Nearly all warnings should be gone
even with -Wall. 

The main problem was the depend stage for dtappbuilder, ttsnoop and dtksh.
It checks for files which are created later during the making stage. Since
the files don't exist at check time makedepend issues a lot of warnings,
"gcc -E" even some fatal errors.
The solution was to move the creation of the files to the include stage. 

In addition the following changes have been made:
 - avoid duplicate Makefile targets
 - fix recursion in makedepend
 - avoid dtcodegen warnings
 - correct wrong and missing data types and return values
 - replacement of sprintf, strcpy, strcat with snprintf, strncpy and strncat
 - create missing makefiles for Linux and BSDs in dtappbuilder
 - add missing round or curly brackets to array types
 - other minor fixes
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
(Continue reading)

dank moo | 21 Sep 05:24 2014
Picon

rpc.cmsd issues on linux short fix

Installing openbsd-inetd fixes (most) rpc.cmsd  issues.
------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Olivier Utkala | 20 Sep 22:46 2014
Picon

CDE 2.2.2 on FreeBSD 10

Hello,

Compilation of version 2.2.2 on FreeBSD 10 (x86) breaks using mkcatdefs on de_DE.ISO8859-1 messages. The results:


/usr/local/bin/ksh93 ../../../../programs/localized/util/makeMessCat  MotifApp.cat de_DE.ISO8859-1
Running gencat on  ./MotifApp.vmsg with LANG set to de_DE.ISO8859-1
 Removing  ./MotifApp.vmsg
Running mkcatdefs for Mrm.cat with LANG set to de_DE.ISO8859-1
(  rm -f Mrm.cat Mrm.tmp.msg;  LC_CTYPE="";  export LC_CTYPE;  LANG=de_DE.ISO8859-1;  export LANG;  ../../../../programs/localized/util/mkcatdefs Mrm Mrm.msg -h > Mrm.tmp.msg;  gencat  Mrm.cat Mrm.tmp.msg;  rm -f Mrm.tmp.msg  )
mkcatdefs: sourcefile contains invalid character:
        �ltiger Puffer"
mkcatdefs: sourcefile contains invalid character:
        �ltiger Datensatzumschlag"

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

mkcatdefs: sourcefile contains invalid character:
        �rt."
mkcatdefs: Errors found: no msg.h created
*** Error code 1

Stop.
make[5]: stopped in /usr/home/gibson/src/cdesktopenv-code/cde/programs/localized/de_DE.ISO8859-1/msg
*** Error code 1

Stop.
make[4]: stopped in /usr/home/gibson/src/cdesktopenv-code/cde/programs/localized/de_DE.ISO8859-1
*** Error code 1

Stop.
make[3]: stopped in /usr/home/gibson/src/cdesktopenv-code/cde/programs/localized
*** Error code 1

Stop.
make[2]: stopped in /usr/home/gibson/src/cdesktopenv-code/cde/programs
*** Error code 1

Stop.
make[1]: stopped in /usr/home/gibson/src/cdesktopenv-code/cde
*** Error code 1

Stop.
make: stopped in /usr/home/gibson/src/cdesktopenv-code/cde
%                                                                

I try using both clang or gcc48, with same results.

Any help will be welcome.

Best regards.

---------------
Olivier
------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Ulrich Wilkens | 11 Sep 19:52 2014
Picon

[PATCH] Fix panel right click


Hello,

this patch fixes ticket #30. It's a typical 64bit problem.
Some 64bit pointers were stored in 32bit variables.

Regards, Ulrich

-- 
Ulrich Wilkens
Email: mail@...

>From 59cf50f449f41f9f9d39927921fb9a57365e0a53 Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <mail@...>
Date: Thu, 11 Sep 2014 19:27:53 +0200
Subject: [PATCH] Fix panel right click

---
 cde/programs/dtwm/DataBaseLoad.h |  2 +-
 cde/programs/dtwm/Parse.c        |  6 ++---
 cde/programs/dtwm/PopupMenu.c    | 50 ++++++++++++++++++++--------------------
 3 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/cde/programs/dtwm/DataBaseLoad.h b/cde/programs/dtwm/DataBaseLoad.h
index 1bc9b5b..b4e417b 100644
--- a/cde/programs/dtwm/DataBaseLoad.h
+++ b/cde/programs/dtwm/DataBaseLoad.h
 <at>  <at>  -452,7 +452,7  <at>  <at>  struct _PopupData
    Widget delete_ws_item;
    Widget rename_ws_item;
    Widget * action_item;
-   int action_count;
+   long action_count;
    Boolean subpanel_add_state;
 };

diff --git a/cde/programs/dtwm/Parse.c b/cde/programs/dtwm/Parse.c
index c13389e..51011e3 100644
--- a/cde/programs/dtwm/Parse.c
+++ b/cde/programs/dtwm/Parse.c
 <at>  <at>  -78,7 +78,7  <at>  <at>  StringToInt (char * parse_source,

 {
    char * source_ptr = parse_source;
-   int    value = 0;
+   long    value = 0;
    char   chr;

 
 <at>  <at>  -425,12 +425,12  <at>  <at>  StringToPositionHints (char * parse_source,

    status = StringToInt (parse_source, parse_return);

-   if ((int) *parse_return < 0 || (int) *parse_return > 100)
+   if ((long) *parse_return < 0 || (long) *parse_return > 100)
    {

       _DtSimpleError (panel.app_name, DtError, NULL, 
                      "Invalid Position Hints value -- %d",
-                     (int) *parse_return);
+                     (long) *parse_return);
       return (False);
    }

diff --git a/cde/programs/dtwm/PopupMenu.c b/cde/programs/dtwm/PopupMenu.c
index a461b55..70b0dd6 100644
--- a/cde/programs/dtwm/PopupMenu.c
+++ b/cde/programs/dtwm/PopupMenu.c
 <at>  <at>  -76,9 +76,9  <at>  <at>  ActionCB (Widget    w,

 {
    ControlData * control_data;
-   int           control_type;
+   long           control_type;

-   int indx = (int) client_data;
+   long indx = (long) client_data;
    Arg args[1];

 
 <at>  <at>  -88,7 +88,7  <at>  <at>  ActionCB (Widget    w,
    if (CheckControlTypeFile (control_data) == False)
       return;

-   control_type = (int) (control_data->element_values[CONTROL_TYPE].parsed_value);		  
+   control_type = (long) (control_data->element_values[CONTROL_TYPE].parsed_value);		  

    if (control_type == CONTROL_FILE && !control_data->is_action)
    {
 <at>  <at>  -136,7 +136,7  <at>  <at>  DeleteWorkspaceCB (Widget    w,

 
 {
-   int delete_workspace = (int) client_data;
+   long delete_workspace = (long) client_data;
    SwitchData * switch_data;
    int i;

 <at>  <at>  -178,7 +178,7  <at>  <at>  RenameWorkspaceCB (Widget    w,

 
 {
-   int rename_ws = (int) client_data;
+   long rename_ws = (long) client_data;
    SwitchData * switch_data;
    int i;

 <at>  <at>  -397,7 +397,7  <at>  <at>  DeleteControlCB (Widget    w,
 #endif
     Widget dialog;
     String title, del_ctrl, ctrl_name, ctrl_label, del_msg, message;
-    int indx = (int) client_data;
+    long indx = (long) client_data;
     Arg args[2];

     XtSetArg (args[0], XmNuserData, &control_data);
 <at>  <at>  -414,7 +414,7  <at>  <at>  DeleteControlCB (Widget    w,
     if (ctrl_label == NULL)
        ctrl_label = ctrl_name;

-    if ((Boolean)control_data->element_values[CONTROL_LOCKED].parsed_value)
+    if (control_data->element_values[CONTROL_LOCKED].parsed_value)
     {
        title = FPGETMESSAGE(82,1, "Workspace Manager - Delete Locked Control Error");
        title = XtNewString (title);
 <at>  <at>  -501,7 +501,7  <at>  <at>  ToggleControlCB (Widget    w,
 {
     SubpanelData * subpanel_data = (SubpanelData *) client_data;
     ControlData * control_data;
-    int indx = (int) client_data;
+    long indx = (long) client_data;
     Arg args[1];

     XtSetArg (args[0], XmNuserData, &control_data);
 <at>  <at>  -528,7 +528,7  <at>  <at>  AddSubpanelCB (Widget w,

 {
     ControlData * control_data;
-    int indx = (int) client_data;
+    long indx = (long) client_data;
     Arg args[1];

     XtSetArg (args[0], XmNuserData, &control_data);
 <at>  <at>  -572,7 +572,7  <at>  <at>  DeleteSubpanelCB (Widget    w,
     spanel_name = (char *)
                   subpanel_data->element_values[SUBPANEL_NAME].parsed_value;

-    if ((Boolean)subpanel_data->element_values[SUBPANEL_LOCKED].parsed_value)
+    if (subpanel_data->element_values[SUBPANEL_LOCKED].parsed_value)
     {
        title = FPGETMESSAGE(82,3, "Workspace Manager - Delete Locked Subpanel Error");
        title = XtNewString (title);
 <at>  <at>  -937,14 +937,14  <at>  <at>  SetupActionMenuItems (Widget        w,
                       ControlData * control_data,
 		      PopupData  * popup_data,
                       Widget      * action_item,
-                      int         * action_count)
+                      long        * action_count)

 
 {
    XmString label_string;
-   int i;
-   int num_actions = 0;
-   int action_index = *action_count;
+   long i;
+   long num_actions = 0;
+   long action_index = *action_count;
    Arg args[5];

 
 <at>  <at>  -1038,7 +1038,7  <at>  <at>  UpdateMainControlMenu (ControlData * control_data)
    char     * mnemonic;
    char     * control_label;

-   int control_type;
+   long control_type;
    Arg args[5];

    ElementValue * old_element_values;
 <at>  <at>  -1072,7 +1072,7  <at>  <at>  UpdateMainControlMenu (ControlData * control_data)
    /*  Otherwise, if there is a subpanel, activate the delete subpanel  */
    /*  item.  Else activate the add subpanel item.                      */

-   control_type = (int) control_data->element_values[CONTROL_TYPE].parsed_value;
+   control_type = (long)control_data->element_values[CONTROL_TYPE].parsed_value;

    if (control_type != CONTROL_BLANK)
    {
 <at>  <at>  -1252,8 +1252,8  <at>  <at>  UpdateSubpanelControlMenu (SubpanelData * subpanel_data,

    XtManageChild (panel.popup_data->deinstall_item);

-   if ((Boolean) (subpanel_data->parent_control_data->
-                  element_values[CONTROL_LOCKED].parsed_value) != True)
+   if (! (subpanel_data->parent_control_data->
+                  element_values[CONTROL_LOCKED].parsed_value))
       XtManageChild (panel.popup_data->toggle_item);
    else
       XtUnmanageChild (panel.popup_data->toggle_item);
 <at>  <at>  -1289,7 +1289,7  <at>  <at>  PopupMenu (Widget    w,
    BoxData * box_data = NULL;
    XmString label_string;
    Arg args[5];
-   int control_type, action_count = panel.popup_data->action_count;
+   long control_type, action_count = panel.popup_data->action_count;

    callback = (XmAnyCallbackStruct *) call_data;
    event = (XEvent *) callback->event;
 <at>  <at>  -1393,7 +1393,7  <at>  <at>  CreatePopupMenu (Widget w)
    char * mnemonic;
    Arg args[5];
    PopupData * popup_data;
-   int i, child_num = 0;
+   long i, child_num = 0;
    XmString label_string;

    popup_data = panel.popup_data = (PopupData *) XtMalloc(sizeof(PopupData));
 <at>  <at>  -1499,7 +1499,7  <at>  <at>  CreateActionButtons (Widget        w,

 {
     PopupData * popup_data = switch_data->popup_data;
-    int action_count = popup_data->action_count;
+    long action_count = popup_data->action_count;
     Arg args[1];
     XmString label_string;
     char     * control_label;
 <at>  <at>  -1554,7 +1554,7  <at>  <at>  ShowWorkspaceItems (SwitchData * switch_data,

 {
    PopupData * popup_data = switch_data->popup_data;
-   int i;
+   long i;
    Arg args[1];
    XmString label_string;
    char     * control_label;
 <at>  <at>  -1769,7 +1769,7  <at>  <at>  WSPopupMenu (Widget     w,
    Boolean is_button = False;
    Position x, y;
    Arg args[2];
-   int control_type;
+   long control_type;

    callback = (XmAnyCallbackStruct *) call_data;
    event = (XEvent *) callback->event;
 <at>  <at>  -1838,7 +1838,7  <at>  <at>  WSPopupMenu (Widget     w,
          if (control_data != NULL)
          {
             control_type =
-		 (int) control_data->element_values[CONTROL_TYPE].parsed_value;
+		 (long) control_data->element_values[CONTROL_TYPE].parsed_value;

             if (control_type != CONTROL_BLANK)
               /* The mouse is over a control in the switch area */
 <at>  <at>  -1885,7 +1885,7  <at>  <at>  CreateWorkspacePopupMenu (Widget       w,
    XmString label_string;
    char * mnemonic;
    Arg args[5];
-   int i, child_num = 0;
+   long i, child_num = 0;
    PopupData * popup_data;

    popup_data = (PopupData *) XtMalloc(sizeof(PopupData));
--

-- 
1.7.12.1

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Rodrigo Gesswein | 10 Sep 18:28 2014
Picon

Weird problem with dtwm

Dear cde developers,

	First of all, a big thank you for the job porting CDE to Linux; I have
	a small weird issue with Dtwm because every 14 days (server uptime)
	stops working, users can`t login anymore,  with a TT_ERR_NOMP message
	like:

<q>
"Could not connect to ToolTalk:
TT_ERR_NOMP
No ttsession process is running, probably because tt_open() has not been called yet. 
If this code is returned from tt_open(), it means ttsession() could not be started, 
which generally means ToolTalk is not installed on the system."
</q>

	Rebooting server solve the issue. We use GDM as login manager with CDE
	as desktop manager; rpc.ttdbserver is running, but process dies after a
	couple of days.

	I notice a /etc/inetd.conf is created but inetd is not
	installed, xinetd instead; should rpc.ttdbserver process run from
	xinetd like:

https://github.com/idunham/cdesktop/blob/master/cde/contrib/xinetd/ttdbserver

	If I do, I got a message on log files:

<q>
pmap_set failed. service=ttdbserver program=100083 version=1
Service ttdbserver failed to start and is deactivated
</q>

	Any clue to debug or solve the problem will be greatly appreciated.

	Thank you in advance

Rodrigo
	 

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
Jeff Pierquet | 9 Sep 05:11 2014
Picon

Dtlogo.pm

Hello,

I've attached a new version of "Dtlogo.pm", along with a screenshot of it being used for dtlogin. I think this one may be cleaner and nicer for systems with modern capabilities -- not so grainy and unreadable as the original. CDE is a classic desktop environment, but the old "Dtlogo.pm" is pretty ugly, even for the early 1990s.

The original "Dtlogo.pm" shows parts of four planets and some grainy text around them advertising "a new world of compatibility." The attached newer image keeps the original space theme, but just uses the CDE logo and a sky full of stars.

Jeff Pierquet
Attachment (Dtlogo.pm): application/x-perl, 116 KiB
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Bernd Blümmel | 3 Aug 10:15 2014
Picon

dtbuilder crash CDE 2.2.2 on Debian GNU/Linux 7 (wheezy)

Hello,

dt(app)builder crashes when activating the menubar (file, edit ...)
before the pupup-menu becomes visible.

On startup there's a warning: "Missing charsets in String to FontSet
conversion"

Version: cde 2.2.2
OS: debian Linux 7 (wheezy)
Hardware: toshiba laptop with intel core i3 cpu
LANG="de_DE.ISO8859-1"

Known bug? Configuration error? Any idea?

Regards,
Bernd

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
Jon Trulson | 28 Jul 01:32 2014

CDE 2.2.2 released

CDE 2.2.2 has been tagged and released.  The sourceforge mirrors
should begin syncing soon.

There are a lot of fixes and improvements in this release.  CDE can be
built on more modern Linuxes and BSDs, and an initial stab at an
Illumios (opensolaris) support is also present.

Thank you to all who contributed to this release!

Here is the shortlog:

Eugene Doudine (7):
       Fixes the bug #17 dtsession can't validate passwords longer than 8 characters when the session is locked
       Fixed bug #27 dtfile space handling bug
       Fixed bug #32 dtfile table formatting bug with non-latin filenames
       Fixes the off-by-one bug in RegisterInGrid(), which caused dtfile's desktop icons on the right edge of the
screen (if desktop width is not a multiple of icon with) to be registered on the next workspace or (in the
case of the last workspace) beyond the desktop_grid array (possibly causing segfaults).
       Fixes several issues with grid registration of the dtwm panel on dtfile startup and on workspace addition:
       Fixes a small bug in grid registration: when an object is placed over another object (can be done manually)
and then removed from there, the registration of the covered object is removed as well (that is it's cell is
considered empty).
       Fixes the bug, which caused dtterm to show stripes of wrong color between text lines when using fontsets
that include fonts of slightly different heights.

Jon Trulson (52):
       update HISTORY file for 2.2.1, though a little too late :)
       building_release_archive: add some steps and clean up
       linux depend: stop using makedepend, use gcc instead
       libDtTerm: add include <stdio.h> so FILE is properly defined.
       linux: Use installed X11 header files rather than requiring /imports/x11/include
       nsgmls: fix up some gcc 4.8 warnings.
       linux.cf: fix typo and some formatting.
       linux: move dependancy handling out of linux.cf and into new lnxDep.rules file.
       mp_rpc_server.C: limit iteration of svc_fdset to FD_SETSIZE, as per spec.
       dtdocbook/instant: *always* link with local libtcl.a
       dtpad: stub out XmPrint stuff if there is no XmPrint support.
       dtmail: stub out XmPrint stuff if there is no XmPrint support.
       dtcm: stub out XmPrint stuff if there is no XmPrint support.
       dtinfo: stub out XmPrint stuff if there is no XmPrint support.
       linux: libDtSearch requires linking with -lm
       libcsa: fix up some stupidness.
       tt_xdr_utils.h: fix build error on linux/bsd introduced with illumos initial patch.
       Updated Greek (el_GR.UTF-8) translations from Antonis Tsolomitis.
       PrintTopics.c: fix up some warnings
       pax.h: include stdio.h
       getdate.y: include string.h
       Icon.c: include stdlib.h
       localized/util/merge.h: include string.h and fix up some warnings
       Threads.C: NULL is not 0
       MotifUI.C: NULL is not 0
       dtcm/server/: just return NULL, not the address of a dummy local variable.  Geez.
       cleanup: eliminate "implicit declaration" warnings.
       linux.cf: turn off writable strings warnings (write-strings)
       linux: build with thread safety and REENTRANT enabled.
       dtcm/reminders.c: NULL is not 0
       dtcm/rfp.c: NULL is not 0
       cleanup: eliminate missing sentinel warnings
       xtclient.c, spcd_event.c: stop referencing fds_bits directly
       linux.cf: with fds_bits fixes, stop using _POSIX_C_SOURCE=199309L and _XOPEN_SOURCE defines
       xtclient.c: fix debug statement regarding fd number
       dtsession: screensaver don't pass random attributes to XScreenSaverSetAttributes()
       InterruptibleCmd.C, WorkingDialogManager.C: NULL is not 0
       AttachArea.C: NULL is not 0, sprintf needs a format
       RoamInterruptibleCmd.C: NULL is not 0
       RoamMenuWindow.C: NULL is not 0
       SendMsgDialog.C: NULL is not 0
       WMSaveSession.C: NULL is not 0
       ttsnoop.C.src: NULL is not 0
       dtappbuilder: bil_store.c: don't return local variables
       fr_FR.ISO8859-1/types/_common.dt.tmsg: Fix up a couple of backslash errors.
       contrib/: add vcal2xapia from Edmond Orignac
       Added additional info to vcal2xapia/README
       contrib/: add desktop2dt from Isaac Dunham
       el_GR _common.dt.tmsg: fix corrupted msg line at line 1763
       site.def: create new DtDocLocalesToBuild define
       Version change to 2.2.2
       Fixup UDB databases to fix a problem introduced with FreeBSD 10 patch.

Peter Tribble (1):
       initial illumos port

Ulrich Wilkens (4):
       Fix dtfile and dtterm on NetBSD
       Fix cpp output on Ubuntu 13
       Fix dtinfo search engine
       FreeBSD 10 clang port

alx (2):
       dtstyle: enable palette editor on true/direct color screens
       DtWidget: Don't free random pointer on Control widget destruction

--

-- 
Jon Trulson

"Don't believe everything you read on the internet."
    --Abraham Lincoln

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
Ulrich Wilkens | 27 Jul 17:33 2014
Picon

[PATCH] FreeBSD 10 clang port

Hello,

here's the announced port for FreeBSD 10.

It builds with clang by default, but can be switched
back to gcc by installing gcc47 package as a minimum
and by including following line in config/cf/host.def:

#define UseGcc    47

The number in the line must correspond to the version
of the installed gcc package. Renaming of compiler
binaries from clang or gcc is not necessary and
wouldn't work.

The wiki page of FreeBSD would need some update for
this port. It would be nice if I can get access to it.

Best Regards, Ulrich

-- 
Ulrich Wilkens
Email: mail@...

>From beb68ef17f0bd4cfd666a9f9845a2aaa731cc2c9 Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <mail-jbpI0NvkgmEb1SvskN2V4Q <at> public.gmane.org>
Date: Sun, 27 Jul 2014 16:48:57 +0200
Subject: [PATCH] FreeBSD 10 clang port

---
 cde/Imakefile                                      | 18 +-----
 cde/admin/IntegTools/post_install/Imakefile        | 73 ++++------------------
 .../IntegTools/post_install/freebsd/Imakefile      | 23 ++-----
 cde/config/cf/DtInfo.rules                         | 72 ++++++++++-----------
 cde/config/cf/FreeBSD.cf                           | 56 +++++++++++++----
 cde/config/cf/Imake.rules                          | 59 +++++++++++++++--
 cde/config/cf/Imake.tmpl                           |  2 +
 cde/config/cf/Motif.tmpl                           |  2 +-
 cde/config/cf/NetBSD.cf                            |  4 ++
 cde/config/cf/bsdLib.tmpl                          |  4 ++
 cde/config/cf/cde.tmpl                             |  2 +-
 cde/config/imake/imakemdep.h                       | 25 ++++++--
 cde/config/makedepend/cppsetup.c                   |  7 ++-
 cde/config/makedepend/ifparser.c                   | 49 ++++++++++++---
 cde/config/makedepend/main.c                       | 11 ++++
 cde/config/makedepend/parse.c                      |  9 ++-
 cde/databases/Imakefile                            | 45 +++++++------
 cde/include/EUSCompat.h                            |  4 +-
 cde/lib/DtHelp/il/ilX.c                            |  4 +-
 cde/lib/DtHelp/il/ilbigray.c                       |  2 +-
 cde/lib/DtHelp/il/ilimage.c                        |  4 +-
 cde/lib/DtHelp/il/ilinvert.c                       |  4 +-
 cde/lib/DtHelp/il/ilmap.c                          |  8 +--
 cde/lib/DtHelp/il/ilpalette.c                      |  4 +-
 cde/lib/DtHelp/il/iltruegray.c                     |  4 +-
 cde/lib/DtHelp/il/ilycbcr.c                        | 12 ++--
 cde/lib/DtPrint/PrintOptions.c                     |  4 +-
 cde/lib/DtTerm/TermPrim/TermPrimBuffer.c           |  2 +-
 cde/lib/DtTerm/TermPrim/TermPrimParser.c           |  2 +-
 cde/lib/csa/Imakefile                              |  8 ++-
 cde/lib/tt/mini_isam/isdatconv.c                   |  8 +--
 cde/lib/tt/mini_isam/isrepair.c                    |  2 +-
 cde/programs/dsdm/proxy.c                          |  2 +-
 cde/programs/dtcm/dtcm/todo.c                      |  4 +-
 cde/programs/dtcm/dtcm/x_graphics.c                |  2 +-
 cde/programs/dticon/image.c                        |  2 +-
 cde/programs/dticon/utils.c                        |  2 +-
 cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C |  3 +
 cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C   |  4 ++
 cde/programs/dtinfo/DtMmdb/compression/ps.C        |  4 ++
 cde/programs/dtinfo/DtMmdb/compression/sgml.C      |  4 ++
 cde/programs/dtinfo/DtMmdb/compression/trie.C      |  1 -
 cde/programs/dtinfo/DtMmdb/index/mphf_index.h      |  1 -
 cde/programs/dtinfo/DtMmdb/schema/token.C          |  4 ++
 .../dtinfo/dtinfo/src/Agents/BookmarkEditMotif.hh  |  2 +-
 .../dtinfo/dtinfo/src/Agents/GraphicAgentMotif.C   | 13 ++--
 .../dtinfo/dtinfo/src/Agents/GraphicAgentMotif.hh  |  1 -
 .../dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh  |  2 +-
 .../dtinfo/dtinfo/src/Agents/MarkCanvas.hh         |  4 +-
 .../dtinfo/dtinfo/src/Agents/MarkIconMotif.C       |  3 +-
 .../dtinfo/dtinfo/src/Agents/MarkIconMotif.hh      |  1 -
 .../dtinfo/dtinfo/src/Agents/MarkListView.hh       |  4 +-
 .../dtinfo/src/Agents/NodeWindowAgentMotif.C       |  6 ++
 .../dtinfo/src/Agents/NodeWindowAgentMotif.hh      |  8 +--
 cde/programs/dtinfo/dtinfo/src/Agents/ScopeMenu.hh |  2 +-
 cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C     | 26 ++++----
 cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.hh    |  4 +-
 cde/programs/dtinfo/dtinfo/src/Managers/EnvMgr.hh  |  1 -
 .../dtinfo/dtinfo/src/Managers/GlobalHistoryMgr.hh |  4 +-
 .../dtinfo/dtinfo/src/Managers/LocalHistoryMgr.hh  |  2 +-
 cde/programs/dtinfo/dtinfo/src/Managers/MarkMgr.hh |  2 +-
 .../dtinfo/dtinfo/src/Managers/MessageMgr.C        |  3 +-
 .../dtinfo/dtinfo/src/Managers/MessageMgr.hh       |  1 -
 cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.C |  2 +-
 .../dtinfo/dtinfo/src/Managers/PrintMgr.hh         |  1 -
 .../dtinfo/dtinfo/src/Managers/TtIpcMgr.hh         |  1 -
 cde/programs/dtinfo/dtinfo/src/Marks/Anchor.hh     |  2 +-
 cde/programs/dtinfo/dtinfo/src/Marks/Mark.hh       | 12 ++--
 cde/programs/dtinfo/dtinfo/src/Marks/MarkBase.hh   |  2 +-
 .../dtinfo/src/OnlineRender/CanvasRenderer.C       |  1 -
 .../dtinfo/src/OnlineRender/CanvasRenderer.hh      |  1 -
 cde/programs/dtinfo/dtinfo/src/Query/QueryTerm.hh  |  1 -
 cde/programs/dtinfo/dtinfo/src/Templates.C         |  2 +-
 cde/programs/dtinfo/dtinfo/src/Widgets/Tree.c      |  4 +-
 .../dtinfo/dtinfogen/infolib/etc/ContentType.C     |  4 ++
 .../dtinfo/dtinfogen/infolib/etc/RemoteId.C        |  4 ++
 .../dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C  |  4 ++
 .../dtinfo/dtinfogen/infolib/etc/gr_type.C         |  4 ++
 cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C    |  4 ++
 .../dtksh/ksh93/src/lib/libast/hash/hashalloc.c    |  7 ++-
 .../dtksh/ksh93/src/lib/libast/string/tokscan.c    |  6 +-
 cde/programs/dtlogin/choose.c                      |  2 +-
 cde/programs/dtlogin/chooser.c                     | 16 ++---
 cde/programs/dtlogin/dm.c                          | 12 ++--
 cde/programs/dtlogin/dtchooser.c                   |  2 +-
 cde/programs/dtlogin/file.c                        |  6 +-
 cde/programs/dtlogin/fontpath.c                    |  4 +-
 cde/programs/dtlogin/genauth.c                     |  5 +-
 cde/programs/dtlogin/protodpy.c                    |  2 +-
 cde/programs/dtlogin/resource.c                    |  4 +-
 cde/programs/dtlogin/session.c                     |  6 +-
 cde/programs/dtlogin/socket.c                      |  8 +--
 cde/programs/dtlogin/vgmain.c                      |  2 +-
 cde/programs/dtpad/printSetup.c                    |  2 +-
 cde/programs/dtstyle/ColorPalette.c                |  2 +-
 cde/programs/dtterm/DtTermMain.c                   |  4 +-
 cde/programs/dtudcfonted/libfal/_fallcGeneric.c    | 18 +++---
 cde/programs/localized/templates/types.tmpl        | 20 +++---
 cde/programs/ttsnoop/Imakefile                     | 40 +++++++-----
 99 files changed, 508 insertions(+), 364 deletions(-)

diff --git a/cde/Imakefile b/cde/Imakefile
index e637aff..c9194dd 100644
--- a/cde/Imakefile
+++ b/cde/Imakefile
 <at>  <at>  -55,11 +55,7  <at>  <at>  Everything::
 	 <at> echo ""
 	 <at> date
 	 <at> echo ""
-	cd $(IMAKESRC) && if [ -f Makefile ]; then \
-	    $(MAKE) $(MFLAGS) BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	else \
-	    $(MAKE) $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	fi
+	MakeImakeDir()
 	-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
 	$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
 	$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles
 <at>  <at>  -82,11 +78,7  <at>  <at>  Everything.dev::
 	 <at> echo ""
 	 <at> date
 	 <at> echo ""
-	cd $(IMAKESRC) && if [ -f Makefile ]; then \
-	    $(MAKE) $(MFLAGS) BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	else \
-	    $(MAKE) $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	fi
+	MakeImakeDir()
 	-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
 	$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
 	$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles
 <at>  <at>  -120,11 +112,7  <at>  <at>  Everything.doc::
 	 <at> echo ""
 	 <at> date
 	 <at> echo ""
-	cd $(IMAKESRC) && if [ -f Makefile ]; then \
-	    $(MAKE) $(MFLAGS) BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	else \
-	    $(MAKE) $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \
-	fi
+	MakeImakeDir()
 	-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
 	$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
 	$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles.doc
diff --git a/cde/admin/IntegTools/post_install/Imakefile b/cde/admin/IntegTools/post_install/Imakefile
index e23ca60..3155641 100644
--- a/cde/admin/IntegTools/post_install/Imakefile
+++ b/cde/admin/IntegTools/post_install/Imakefile
 <at>  <at>  -59,65 +59,19  <at>  <at>  MakeSubdirs($(SUBDIRS))
 
 all::
 
-configHelp:: $(DATABASE_DIR)/CDE-HELP-C.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-HELP-C.udb > CDE-HELP-C.lst
-	$(BUILD_UDB_TOOL) CDE-HELP-C ../../..
-
-configHelpPrg:: $(DATABASE_DIR)/CDE-HELP-PRG.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-HELP-PRG.udb > CDE-HELP-PRG.lst
-	$(BUILD_UDB_TOOL) CDE-HELP-PRG ../../..
-
-configDemos:: $(DATABASE_DIR)/CDE-DEMOS.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-DEMOS.udb > CDE-DEMOS.lst
-	$(BUILD_UDB_TOOL) CDE-DEMOS ../../..
-
-configFonts:: $(DATABASE_DIR)/CDE-FONTS.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-FONTS.udb > CDE-FONTS.lst
-	$(BUILD_UDB_TOOL) CDE-FONTS ../../..
-
-configHelpRun:: $(DATABASE_DIR)/CDE-HELP-RUN.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-HELP-RUN.udb > CDE-HELP-RUN.lst
-	$(BUILD_UDB_TOOL) CDE-HELP-RUN ../../..
-
-configIcons:: $(DATABASE_DIR)/CDE-ICONS.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-ICONS.udb > CDE-ICONS.lst
-	$(BUILD_UDB_TOOL) CDE-ICONS ../../..
-
-configInc:: $(DATABASE_DIR)/CDE-INC.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-INC.udb > CDE-INC.lst
-	$(BUILD_UDB_TOOL) CDE-INC ../../..
-
-configManDev:: $(DATABASE_DIR)/CDE-MAN-DEV.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-MAN-DEV.udb > CDE-MAN-DEV.lst
-	$(BUILD_UDB_TOOL) CDE-MAN-DEV ../../..
-
-configMan:: $(DATABASE_DIR)/CDE-MAN.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-MAN.udb > CDE-MAN.lst
-	$(BUILD_UDB_TOOL) CDE-MAN ../../..
-
-configMsgCat:: $(DATABASE_DIR)/CDE-MSG-C.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-MSG-C.udb > CDE-MSG-C.lst
-	$(BUILD_UDB_TOOL) CDE-MSG-C ../../..
-
-configPrg:: $(DATABASE_DIR)/CDE-PRG.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-PRG.udb > CDE-PRG.lst
-	$(BUILD_UDB_TOOL) CDE-PRG ../../..
-
-configShlibs:: $(DATABASE_DIR)/CDE-SHLIBS.udb
-	$(UDB_TOOL)  -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-SHLIBS.udb > CDE-SHLIBS.lst
-	$(BUILD_UDB_TOOL) CDE-SHLIBS ../../..
+DoUDB_SCRIPT3(configHelp,CDE-HELP-C,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configHelpPrg,CDE-HELP-PRG,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configDemos,CDE-DEMOS,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configFonts,CDE-FONTS,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configHelpRun,CDE-HELP-RUN,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configIcons,CDE-ICONS,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configInc,CDE-INC,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configManDev,CDE-MAN-DEV,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configMan,CDE-MAN,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configMsgCat,CDE-MSG-C,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configPrg,CDE-PRG,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+DoUDB_SCRIPT3(configShlibs,CDE-SHLIBS,$(UDB_TOOL),$(BUILD_UDB_TOOL))
+
 
 LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
 <at>  <at>  -125,7 +79,6  <at>  <at>  LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
 
 CppSourceFile(configHelp,configHelp.src,$(LOCAL_CPP_DEFINES),)
 CppSourceFile(configHelpPrg,configHelpPrg.src,$(LOCAL_CPP_DEFINES),)
-
 CppSourceFile(configDemos,configDemos.src,$(LOCAL_CPP_DEFINES),)
 CppSourceFile(configFonts,configFonts.src,$(LOCAL_CPP_DEFINES),)
 CppSourceFile(configHelpRun,configHelpRun.src,$(LOCAL_CPP_DEFINES),)
diff --git a/cde/admin/IntegTools/post_install/freebsd/Imakefile b/cde/admin/IntegTools/post_install/freebsd/Imakefile
index 7bf6c55..d4e7893 100644
--- a/cde/admin/IntegTools/post_install/freebsd/Imakefile
+++ b/cde/admin/IntegTools/post_install/freebsd/Imakefile
 <at>  <at>  -28,27 +28,14  <at>  <at>  PLATFORM = uxp
 UDBTOANY = $(KORNSHELL) $(TOOL_DIR)/udbToAny.ksh
 BUILD_UDB_LIST = $(SHELL) ../build_udb_list
 
-all::
-
-configMin:: $(DATABASE_DIR)/CDE-MIN.udb
-	$(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-MIN.udb > CDE-MIN.lst
-	$(BUILD_UDB_LIST) CDE-MIN ../../../..
 
-configTT:: $(DATABASE_DIR)/CDE-TT.udb
-	$(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-TT.udb > CDE-TT.lst
-	$(BUILD_UDB_LIST) CDE-TT ../../../..
+all::
 
-configRun:: $(DATABASE_DIR)/CDE-RUN.udb
-	$(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-RUN.udb > CDE-RUN.lst
-	$(BUILD_UDB_LIST) CDE-RUN ../../../..
+DoUDB_SCRIPT4(configMin,CDE-MIN,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configTT,CDE-TT,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configRun,CDE-RUN,$(UDBTOANY),$(BUILD_UDB_LIST))
+DoUDB_SCRIPT4(configShlibs,CDE-SHLIBS,$(UDBTOANY),$(BUILD_UDB_LIST))
 
-configShlibs:: $(DATABASE_DIR)/CDE-SHLIBS.udb
-	$(UDBTOANY) -toLst -ReleaseStream $(PLATFORM) \
-            $(DATABASE_DIR)/CDE-SHLIBS.udb > CDE-SHLIBS.lst
-	$(BUILD_UDB_LIST) CDE-SHLIBS ../../../..
 
 LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
diff --git a/cde/config/cf/DtInfo.rules b/cde/config/cf/DtInfo.rules
index 227df68..e6a120e 100644
--- a/cde/config/cf/DtInfo.rules
+++ b/cde/config/cf/DtInfo.rules
 <at>  <at>  -40,26 +40,26  <at>  <at>  XCOMM $TOG: DtInfo.rules /main/21 1997/09/05 11:31:01 samborn $
 # define makelibT(libname)					 <at>  <at> \
 	makelib(libname)					 <at>  <at> \
 								 <at>  <at> \
-libname/lib/**/libname/**/T.a: FRC				 <at>  <at> \
+Concat3(libname/lib,libname,T.a): FRC				 <at>  <at> \
 	 <at> (cd libname ;	\					 <at>  <at> \
-		echo "### Making lib libname Templates ###" ; \  <at>  <at> \
-		$(MAKE) lib/**/libname/**/T.a ; \		 <at>  <at> \
+	    echo STR(*** Making lib libname Templates ***) ; \	 <at>  <at> \
+	    $(MAKE) Concat3(lib,libname,T.a) ; \		 <at>  <at> \
 	)
 
 # define makelibsubsubdir(subdir,libname)			 <at>  <at> \
 								 <at>  <at> \
-subdir/libname/lib/**/libname.a: FRC				 <at>  <at> \
+Concat(subdir/libname/lib,libname.a): FRC			 <at>  <at> \
 	 <at> (cd subdir ;	\					 <at>  <at> \
-		echo "### Making lib libname ###" ; \		 <at>  <at> \
-		$(MAKE) libname/lib/**/libname.a ; \		 <at>  <at> \
+	    echo STR(*** Making lib libname ***) ; \		 <at>  <at> \
+	    $(MAKE) Concat(libname/lib,libname.a) ; \		 <at>  <at> \
 	)
 
 # define makelibTsubsubdir(subdir,libname)			 <at>  <at> \
 								 <at>  <at> \
-subdir/libname/lib/**/libname/**/T.a: FRC			 <at>  <at> \
+Concat3(subdir/libname/lib,libname,T.a): FRC			 <at>  <at> \
 	 <at> (cd subdir ;	\					 <at>  <at> \
-		echo "### Making lib libname Templates ###" ; \  <at>  <at> \
-		$(MAKE) libname/lib/**/libname/**/T.a ; \	 <at>  <at> \
+	    echo STR(*** Making lib libname Templates ***) ; \	 <at>  <at> \
+	    $(MAKE) Concat3(libname/lib,libname,T.a) ; \	 <at>  <at> \
 	)
 #else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3 */
 # define makelibT(libname)					 <at>  <at> \
 <at>  <at>  -70,28 +70,28  <at>  <at>  subdir/libname/lib/**/libname/**/T.a: FRC			 <at>  <at> \
 	makelibd(libname,)
 
 #define makelibd(libname, deps)					 <at>  <at> \
-libname/lib/**/libname.a: deps FRC				 <at>  <at> \
+Concat(libname/lib,libname.a): deps FRC				 <at>  <at> \
 	 <at> (cd libname; \						 <at>  <at> \
-		echo "### Making lib libname ###" ; \		 <at>  <at> \
-		$(MAKE) lib/**/libname.a ; \	 		 <at>  <at> \
-		if [ -d "$(TEMPLATE_DB)" ]; then \		 <at>  <at> \
-		    $(MAKE) lib/**/libname/**/T.a ; \		 <at>  <at> \
-		fi \						 <at>  <at> \
+	    echo STR(*** Making lib libname ***) ; \		 <at>  <at> \
+	    $(MAKE) Concat(lib,libname.a) ; \			 <at>  <at> \
+	    if [ -d "$(TEMPLATE_DB)" ]; then \			 <at>  <at> \
+		$(MAKE) Concat3(lib,libname,T.a) ; \		 <at>  <at> \
+	    fi \						 <at>  <at> \
 	)							 <at>  <at> \
 libname/libname.d:	libname/Classlist.mk			 <at>  <at> \
 	 <at> (cd libname; \						 <at>  <at> \
-		echo "### Making dfiles in libname ###" ; \	 <at>  <at> \
-		$(MAKE) libname.d ;\				 <at>  <at> \
+	    echo STR(*** Making dfiles in libname ***) ; \	 <at>  <at> \
+	    $(MAKE) libname.d ;\				 <at>  <at> \
 	)							 <at>  <at> \
 libname/libname.h:	libname/Classlist.mk			 <at>  <at> \
 	 <at> (cd libname; \						 <at>  <at> \
-		echo "### Making dfiles in libname ###" ; \	 <at>  <at> \
-		$(MAKE) libname.h ;\				 <at>  <at> \
+	    echo STR(*** Making dfiles in libname ***) ; \	 <at>  <at> \
+	    $(MAKE) libname.h ;\				 <at>  <at> \
 	)							 <at>  <at> \
 libname/libname.msg:	libname/Classlist.mk			 <at>  <at> \
 	 <at> (cd libname; \						 <at>  <at> \
-		echo "### Making msgs in libname ###" ; \	 <at>  <at> \
-		$(MAKE) libname.msg ;\				 <at>  <at> \
+	    echo STR(*** Making msgs in libname ***) ; \	 <at>  <at> \
+	    $(MAKE) libname.msg ;\				 <at>  <at> \
 	)							 <at>  <at> \
 								 <at>  <at> \
 FRC:								 <at>  <at> \
 <at>  <at>  -149,7 +149,7  <at>  <at>  AllTarget(Concat(lib,libname.a))				 <at>  <at> \
 								 <at>  <at> \
 Concat(lib,libname.a): objlist					 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making SimpleLibrary libname.a"		 <at>  <at> \
+	 <at> echo STR(*** Making SimpleLibrary libname.a)		 <at>  <at> \
 	$(LD) -r -o $ <at>  objlist
 
 
 <at>  <at>  -157,11 +157,11  <at>  <at>  Concat(lib,libname.a): objlist					 <at>  <at> \
 #define SimpleLibraryT(libname,objlist,libdir)			 <at>  <at> \
 SimpleLibrary(libname,objlist,libdir)				 <at>  <at> \
 								 <at>  <at> \
-AllTarget(Concat(lib,libname/**/T.a))				 <at>  <at> \
+AllTarget(Concat3(lib,libname,T.a))				 <at>  <at> \
 								 <at>  <at> \
-Concat(lib,libname/**/T.a):					 <at>  <at> \
+Concat3(lib,libname,T.a):					 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making SimpleLibraryT libname Templates"	 <at>  <at> \
+	 <at> echo STR(*** Making SimpleLibraryT libname Templates)	 <at>  <at> \
 	find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $ <at>   <at>  <at> \
 								 <at>  <at> \
 clean::								 <at>  <at> \
 <at>  <at>  -170,11 +170,11  <at>  <at>  clean::								 <at>  <at> \
 #define SimpleLibraryT(libname,objlist,libdir)			 <at>  <at> \
 SimpleLibrary(libname,objlist,libdir)				 <at>  <at> \
 								 <at>  <at> \
-AllTarget(Concat(lib,libname/**/T.a))				 <at>  <at> \
+AllTarget(Concat3(lib,libname,T.a))				 <at>  <at> \
 								 <at>  <at> \
-Concat(lib,libname/**/T.a): TemplateObjs			 <at>  <at> \
+Concat3(lib,libname,T.a): TemplateObjs				 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making SimpleLibraryT libname Templates"	 <at>  <at> \
+	 <at> echo STR(*** Making SimpleLibraryT libname Templates)	 <at>  <at> \
 	$(AR) $ <at>  TemplateObjs					 <at>  <at> \
 								 <at>  <at> \
 clean::								 <at>  <at> \
 <at>  <at>  -186,7 +186,7  <at>  <at>  AllTarget(Concat(lib,libname.a))				 <at>  <at> \
 								 <at>  <at> \
 Concat(lib,libname.a): objlist					 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making RealLibrary libname.a"		 <at>  <at> \
+	 <at> echo STR(*** Making RealLibrary libname.a)		 <at>  <at> \
 	ar cq $ <at>  objlist					 <at>  <at> \
 	RanLibrary($ <at> )
 
 <at>  <at>  -195,18 +195,18  <at>  <at>  AllTarget(Concat(lib,libname.a))				 <at>  <at> \
 								 <at>  <at> \
 Concat(lib,libname.a): objlist otherdeps			 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making NotSoSimpleLibrary libname.a"		 <at>  <at> \
+	 <at> echo STR(*** Making NotSoSimpleLibrary libname.a)	 <at>  <at> \
 	$(LD) -r -o $ <at>  objlist
 
 #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
 #define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps)	 <at>  <at> \
 NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)		 <at>  <at> \
 								 <at>  <at> \
-AllTarget(Concat(lib,libname/**/T.a))				 <at>  <at> \
+AllTarget(Concat3(lib,libname,T.a))				 <at>  <at> \
 								 <at>  <at> \
-Concat(lib,libname/**/T.a):					 <at>  <at> \
+Concat3(lib,libname,T.a):					 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making NotSoSimpleLibraryT libname Templates" <at>  <at> \
+	 <at> echo STR(*** Making NotSoSimpleLibraryT libname Templates)	 <at>  <at> \
 	find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $ <at>   <at>  <at> \
 								 <at>  <at> \
 clean::								 <at>  <at> \
 <at>  <at>  -215,11 +215,11  <at>  <at>  clean::								 <at>  <at> \
 #define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps)	 <at>  <at> \
 NotSoSimpleLibrary(libname,objlist,libdir,otherdeps)		 <at>  <at> \
 								 <at>  <at> \
-AllTarget(Concat(lib,libname/**/T.a))				 <at>  <at> \
+AllTarget(Concat3(lib,libname,T.a))				 <at>  <at> \
 								 <at>  <at> \
-Concat(lib,libname/**/T.a): 					 <at>  <at> \
+Concat3(lib,libname,T.a): 					 <at>  <at> \
 	$(RM) $ <at> 						 <at>  <at> \
-	 <at> echo "### Making NotSoSimpleLibraryT libname Templates" <at>  <at> \
+	 <at> echo STR(*** Making NotSoSimpleLibraryT libname Templates)	 <at>  <at> \
 	$(AR) $ <at>  TemplateObjs					 <at>  <at> \
 								 <at>  <at> \
 clean::								 <at>  <at> \
diff --git a/cde/config/cf/FreeBSD.cf b/cde/config/cf/FreeBSD.cf
index 5a9f2ae..2ef9ba0 100644
--- a/cde/config/cf/FreeBSD.cf
+++ b/cde/config/cf/FreeBSD.cf
 <at>  <at>  -15,20 +15,33  <at>  <at>  XCOMM platform:  $TOG: FreeBSD.cf /main/21 1997/10/05 20:42:34 kaleb $
 #ifndef OSTeenyVersion
 #define OSTeenyVersion		DefaultOSTeenyVersion
 #endif
-XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+XCOMM operating system:  OSName (OSMajorVersion/**/./**/OSMinorVersion/**/./**/OSTeenyVersion)
 
 #define HasPutenv		YES
 #define HasBSD44Sockets		YES
 #define HasZlib			YES
 
+#if OSMajorVersion >= 10 && defined(UseGcc)
+USE_GCC = UseGcc
+#endif
+
 #ifndef CppCmd
-#if OSMajorVersion >= 5
-#define CppCmd			/usr/bin/cpp -traditional
-#define PreProcessCmd		/usr/bin/cpp -traditional
+#if OSMajorVersion >= 10 && defined(UseGcc)
+# define CppCmd			/usr/local/bin/cpp$(USE_GCC)
 #else
-#define CppCmd			/usr/libexec/cpp -traditional
-#define PreProcessCmd		/usr/libexec/cpp -traditional
+# define CppCmd			/usr/bin/cpp
+#endif
 #endif
+#define PreProcessCmd		CppCmd
+
+#if OSMajorVersion >= 10
+#define CppArgs			-Wno-invalid-pp-token
+#else
+#define CppArgs			/**/
+#endif
+
+#ifndef StandardCppDefines
+#define StandardCppDefines	-traditional CppArgs
 #endif
 
 #undef  InstallCmd
 <at>  <at>  -71,19 +84,33  <at>  <at>  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 #define MkdirHierCmd		mkdir -p
 
 #ifndef CcCmd
-#define CcCmd gcc
+#if OSMajorVersion >= 10
+# if defined(UseGcc)
+#  define CcCmd			/usr/local/bin/gcc$(USE_GCC)
+#  define CplusplusCmd		/usr/local/bin/g++$(USE_GCC)
+# else
+#  define CcCmd			cc
+#  define CplusplusCmd		c++
+# endif
+#else
+# define CcCmd			gcc
+# define CplusplusCmd		g++
+#endif
+#endif
+
 #ifndef DefaultCCOptions
 #define DefaultCCOptions	-pipe
 #endif
-#endif
 
+#ifndef CplusplusLibC
 #define CplusplusLibC		-lstdc++
+#endif
 
 #if OSMajorVersion > 1
 #define ServerOSDefines		XFree86ServerOSDefines -DDDXTIME
 #define XawI18nDefines		-DUSE_XWCHAR_STRING
 #define HasMakefileSafeInclude	YES
-#define IncludeMakefile(file)	 <at>  <at> # dependencies are in .depend
+#define IncludeMakefile(file)	HASH_SIGN dependencies are in .depend
 #define DependFileName		.depend
 #if OSMajorVersion < 3
 #if OSMinorVersion < 2
 <at>  <at>  -148,7 +175,7  <at>  <at>  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 #endif
 
 #ifndef OptimizedCDebugFlags
-# ifdef i386Architecture
+# if defined(i386Architecture) || defined(AMD64Architecture)
 #  define OptimizedCDebugFlags DefaultGcc2i386Opt
 # else
 #  define OptimizedCDebugFlags -O2 -fno-strict-aliasing
 <at>  <at>  -156,11 +183,16  <at>  <at>  XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 #endif
 
 #ifdef HasGcc2
-CXXDEPENDINCLUDE != CppCmd -x c++ -Wp,-v < /dev/null \
-		    2>&1 | sed -n 's/ \(.*[cg]++.*\)/-I\1/p'
+CXXDEPENDINCLUDE != CcCmd -v -x c++ /dev/null -fsyntax-only \
+		    2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
 #define CplusplusDependIncludes	$(CXXDEPENDINCLUDE)
 #endif
 
+/* beginning with svn version 254273 iconv functions are moved to libc */
+#if (OSMajorVersion >= 10)
+ICONVSYSLIB != if test -f /usr/local/include/iconv.h; then echo -liconv; else echo; fi
+#endif
+
 #define ServerExtraDefines	GccGasOption XFree86ServerDefines
 
 #define StandardDefines		-DCSRG_BASED
diff --git a/cde/config/cf/Imake.rules b/cde/config/cf/Imake.rules
index 6fa1ecc..7fd4303 100644
--- a/cde/config/cf/Imake.rules
+++ b/cde/config/cf/Imake.rules
 <at>  <at>  -162,6 +162,9  <at>  <at>  XCOMM rules:  $TOG: Imake.rules /main/227 1998/02/02 12:07:57 kaleb $
  * CppSourceFile		(dst,src,defs,deplist)
  * MakeDirectories		(step,dirs)
  * AllTarget			(depends)
+ * MakeImakeDir			()
+ * DoUDB_SCRIPT3		(target, file, script, build)
+ * DoUDB_SCRIPT4		(target, file, script, build)
  *
  *
  * The following are in specific <os>Lib.rules:
 <at>  <at>  -175,6 +178,16  <at>  <at>  XCOMM rules:  $TOG: Imake.rules /main/227 1998/02/02 12:07:57 kaleb $
 
 #define NullParameter
 
+/* stringify macro */
+#ifndef STR
+# if defined(__llvm__)
+# define STR2(x)	#x
+# else
+# define STR2(x)	"x"
+# endif
+#define STR(x)	STR2(x)
+#endif
+
 /* if [ -d ] or [ ! -d ] causes make to fail, define this as - */
 #ifndef DirFailPrefix
 #define DirFailPrefix
 <at>  <at>  -210,7 +223,7  <at>  <at>  XCOMM special target for clearmake					 <at>  <at> \
  * Concat - concatenates two strings.
  */
 #ifndef Concat
-#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
+#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #define Concat(a,b)a##b
 #else
 #define Concat(a,b)a/**/b
 <at>  <at>  -221,7 +234,7  <at>  <at>  XCOMM special target for clearmake					 <at>  <at> \
  * Concat3 - concatenates three strings.
  */
 #ifndef Concat3
-#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
+#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #define Concat3(a,b,c)a##b##c
 #else
 #define Concat3(a,b,c)a/**/b/**/c
 <at>  <at>  -232,7 +245,7  <at>  <at>  XCOMM special target for clearmake					 <at>  <at> \
  * Concat4 - concatenates four strings.
  */
 #ifndef Concat4
-#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
+#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #define Concat4(a,b,c,d)a##b##c##d
 #else
 #define Concat4(a,b,c,d)a/**/b/**/c/**/d
 <at>  <at>  -262,7 +275,7  <at>  <at>  XCOMM special target for clearmake					 <at>  <at> \
  *           exists to avoid problems with some preprocessors
  */
 #ifndef _XUseCat
-# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
+# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #  if defined(UseInstalled) || UseInstalledX11
 #   define _XUseCat(a,b,c) a##c
 #  else
 <at>  <at>  -2486,6 +2499,44  <at>  <at>  step::									 <at>  <at> \
 all:: depends
 #endif /* AllTarget */
 
+
+/*
+ * MakeImakeDir - call make in imake directory.
+ */
+#ifndef MakeImakeDir
+#define MakeImakeDir() cd $(IMAKESRC) && \				 <at>  <at> \
+	if [ -f Makefile ]; then \					 <at>  <at> \
+	    $(MAKE) $(MFLAGS) BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \	 <at>  <at> \
+	else \								 <at>  <at> \
+	    $(MAKE) $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \									 <at>  <at> \
+	fi
+#endif /* MakeImakeDir */
+
+
+/*
+ * DoUDB_SCRIPT3 - macro for creation of udb scripts for installation
+ */
+#ifndef DoUDB_SCRIPT3
+#define DoUDB_SCRIPT3(target, file, script, build)			 <at>  <at> \
+target:: $(DATABASE_DIR)/file.udb					 <at>  <at> \
+	script -toLst -ReleaseStream $(PLATFORM) \			 <at>  <at> \
+	    $(DATABASE_DIR)/file.udb > file.lst				 <at>  <at> \
+	build file ../../..
+#endif
+
+
+/*
+ * DoUDB_SCRIPT4 - macro for creation of udb scripts for installation
+ */
+#ifndef DoUDB_SCRIPT4
+#define DoUDB_SCRIPT4(target, file, script, build)			 <at>  <at> \
+target:: $(DATABASE_DIR)/file.udb					 <at>  <at> \
+	script -toLst -ReleaseStream $(PLATFORM) \			 <at>  <at> \
+	    $(DATABASE_DIR)/file.udb > file.lst				 <at>  <at> \
+	build file ../../../..
+#endif
+
+
 #ifdef DefineOldLibraryRules
 #include <oldlib.rules>
 #endif
diff --git a/cde/config/cf/Imake.tmpl b/cde/config/cf/Imake.tmpl
index bf0ca77..7183412 100644
--- a/cde/config/cf/Imake.tmpl
+++ b/cde/config/cf/Imake.tmpl
 <at>  <at>  -22,6 +22,8  <at>  <at>  XCOMM
 #define	YES	1
 #define NO	0
 
+#define HASH_SIGN	#
+
 /* Ensure that "all" is the default target in the Makefile. */
 all::
 
diff --git a/cde/config/cf/Motif.tmpl b/cde/config/cf/Motif.tmpl
index caa556d..94de516 100644
--- a/cde/config/cf/Motif.tmpl
+++ b/cde/config/cf/Motif.tmpl
 <at>  <at>  -57,7 +57,7  <at>  <at>  XCOMM $TOG: Motif.tmpl /main/6 1999/05/19 17:00:05 mgreess $
 #endif
 
 #ifndef _MUseCat
-# if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #  if UseInstalledMotif
 #   define _MUseCat(a,b,c) a##c
 #  else
diff --git a/cde/config/cf/NetBSD.cf b/cde/config/cf/NetBSD.cf
index 2642049..1379dfa 100644
--- a/cde/config/cf/NetBSD.cf
+++ b/cde/config/cf/NetBSD.cf
 <at>  <at>  -305,6 +305,10  <at>  <at>  CXXDEPENDINCLUDE != CppCmd -x c++ -Wp,-v < /dev/null \
 # define SharedDtSvcReqs $(LDPRELIBS) SharedXReqs $(CXXLIB) -Wl,-rpath,$(USRLIBDIRPATH)
 #endif
 
+#ifndef SharedDtHelpReqs
+# define SharedDtHelpReqs $(LDPRELIBS) $(ICONVSYSLIB) SharedXReqs -Wl,-rpath,$(USRLIBDIRPATH)
+#endif
+
 #ifndef SharedCsaReqs
 # define SharedCsaReqs -lXt $(LDPOSTLIBS) -Wl,-rpath,$(USRLIBDIRPATH)
 #endif
diff --git a/cde/config/cf/bsdLib.tmpl b/cde/config/cf/bsdLib.tmpl
index 29ff0d6..788208a 100644
--- a/cde/config/cf/bsdLib.tmpl
+++ b/cde/config/cf/bsdLib.tmpl
 <at>  <at>  -30,6 +30,10  <at>  <at>  XCOMM $XConsortium: bsdLib.tmpl /main/3 1996/09/28 16:09:25 rws $
 # define SharedDtSvcReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
 #endif
 
+#ifndef SharedDtHelpReqs
+# define SharedDtHelpReqs $(LDPRELIBS) $(ICONVSYSLIB) SharedXReqs
+#endif
+
 #ifndef SharedCsaReqs
 # define SharedCsaReqs -lXt $(LDPOSTLIBS)
 #endif
diff --git a/cde/config/cf/cde.tmpl b/cde/config/cf/cde.tmpl
index 689f485..197c497 100644
--- a/cde/config/cf/cde.tmpl
+++ b/cde/config/cf/cde.tmpl
 <at>  <at>  -12,7 +12,7  <at>  <at>  XCOMM $XConsortium: cde.tmpl /main/2 1996/12/04 10:13:09 swick $
 #endif
 
 #ifndef _CUseCat
-# if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
 #  if UseInstalledCDE
 #   define _CUseCat(a,b,c) a##c
 #  else
diff --git a/cde/config/imake/imakemdep.h b/cde/config/imake/imakemdep.h
index 3267e21..44c5eb0 100644
--- a/cde/config/imake/imakemdep.h
+++ b/cde/config/imake/imakemdep.h
 <at>  <at>  -227,7 +227,7  <at>  <at>  in this Software without prior written authorization from The Open Group.
  *     all colons).  One way to tell if you need this is to see whether or not
  *     your Makefiles have no tabs in them and lots of  <at>  <at>  strings.
  */
-#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(sco) || (defined(AMOEBA) && defined(CROSS_COMPILE))
+#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(sco) || defined(__llvm__) || (defined(AMOEBA) && defined(CROSS_COMPILE))
 #define FIXUP_CPP_WHITESPACE
 #endif
 #ifdef WIN32
 <at>  <at>  -275,6 +275,9  <at>  <at>  in this Software without prior written authorization from The Open Group.
 	|| (defined(__FreeBSD__) && defined(CPP_IN_LIBEXEC))
 #define DEFAULT_CPP "/usr/libexec/cpp"
 #endif
+#if defined(__FreeBSD__) && (__FreeBSD__ >= 10) && !defined(__llvm__)
+#undef DEFAULT_CPP
+#endif
 #if defined(__sgi) && defined(__ANSI_CPP__)
 #define USE_CC_E
 #endif
 <at>  <at>  -354,6 +357,11  <at>  <at>  char *cpp_argv[ARGUMENTS] = {
 # ifdef __GNUC__
 	"-traditional",
 # endif
+# ifdef __llvm__
+	"-fms-extensions",
+	"-Wno-invalid-token-paste",
+	"-Wno-invalid-pp-token",
+# endif
 #endif
 
 #ifdef M4330
 <at>  <at>  -643,12 +651,18  <at>  <at>  char *cpp_argv[ARGUMENTS] = {
 # define DEFAULT_OS_MAJOR_REV	"v V%[0-9]"
 # define DEFAULT_OS_MINOR_REV	"v V%*dL%[0-9]"
 # define DEFAULT_OS_NAME	"srvm %[^\n]"
-#elif defined(__FreeBSD__) || defined(__NetBSD__)
+#elif defined(__FreeBSD__)
+/* uname -r returns "x.y[.z]-mumble", e.g. "9.0-RELEASE" or "11.0-CURRENT" */
+# define DEFAULT_OS_MAJOR_REV   "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV   "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV   "v %*s %*s %*s r%[0-9]"
+# define DEFAULT_OS_NAME        "srm %[^\n]"
+#elif defined(__NetBSD__)
 /* 386BSD, and BSD/OS too? */
 /* uname -r returns "x.y[.z]-mumble", e.g. "2.1.5-RELEASE" or "2.2-0801SNAP" */
 # define DEFAULT_OS_MAJOR_REV   "r %[0-9]"
 # define DEFAULT_OS_MINOR_REV   "r %*d.%[0-9]"
-# define DEFAULT_OS_TEENY_REV   "r %*d.%*d.%[0-9]" 
+# define DEFAULT_OS_TEENY_REV   "r %*d.%*d.%[0-9]"
 # define DEFAULT_OS_NAME        "srm %[^\n]"
 #elif defined(__OpenBSD__)
 # define DEFAULT_OS_MAJOR_REV   "r %[0-9]"
 <at>  <at>  -747,9 +761,12  <at>  <at>  struct symtab	predefs[] = {
 #ifdef mc68020
 	{"mc68020", "1"},
 #endif
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(linux)
 	{"__GNUC__", DEF_STRINGIFY(__GNUC__)},
 #endif
+#ifdef __GNUC_MINOR__
+	{"__GNUC_MINOR__", DEF_STRINGIFY(__GNUC_MINOR__)},
+#endif
 #if __STDC__
 	{"__STDC__", "1"},
 #endif
diff --git a/cde/config/makedepend/cppsetup.c b/cde/config/makedepend/cppsetup.c
index c6bf411..3b28164 100644
--- a/cde/config/makedepend/cppsetup.c
+++ b/cde/config/makedepend/cppsetup.c
 <at>  <at>  -216,6 +216,7  <at>  <at>  my_eval_variable (ip, var, len)
     const char *var;
     int len;
 {
+    long val;
     struct symtab **s;
 
     s = lookup_variable (ip, var, len);
 <at>  <at>  -223,12 +224,14  <at>  <at>  my_eval_variable (ip, var, len)
 	return 0;
     do {
 	var = (*s)->s_value;
-	if (!isvarfirstletter(*var))
+	if (!isvarfirstletter(*var) || !strcmp((*s)->s_name, var))
 	    break;
 	s = lookup_variable (ip, var, strlen(var));
     } while (s);
 
-    return strtol(var, NULL, 0);
+    var = ParseIfExpression(ip, var, &val);
+    if (var && *var) debug(4, ("extraneous: '%s'\n", var));
+    return val;
 }
 
 
diff --git a/cde/config/makedepend/ifparser.c b/cde/config/makedepend/ifparser.c
index 44f54f4..9bec2d5 100644
--- a/cde/config/makedepend/ifparser.c
+++ b/cde/config/makedepend/ifparser.c
 <at>  <at>  -81,6 +81,7  <at>  <at> 
 
 #include "ifparser.h"
 #include <ctype.h>
+#include <limits.h>
 
 /****************************************************************************
 		   Internal Macros and Utilities for Parser
 <at>  <at>  -116,19 +117,48  <at>  <at>  parse_number (g, cp, valp)
     const char *cp;
     long *valp;
 {
+    long base = 10;
     SKIPSPACE (cp);
 
     if (!isdigit(*cp))
 	return CALLFUNC(g, handle_error) (g, cp, "number");
 
-    *valp = strtol(cp, &cp, 0);
-    /* skip trailing qualifiers */
+    *valp = 0;
+
+    if (*cp == '0') {
+	cp++;
+	if ((*cp == 'x') || (*cp == 'X')) {
+	    base = 16;
+	    cp++;
+	} else {
+	    base = 8;
+	}
+    }
+
+    /* Ignore overflows and assume ASCII, what source is usually written in */
+    while (1) {
+	int increment = -1;
+	if (base == 8) {
+	    if ((*cp >= '0') && (*cp <= '7'))
+		increment = *cp++ - '0';
+	} else if (base == 16) {
+	    if ((*cp >= '0') && (*cp <= '9'))
+		increment = *cp++ - '0';
+	    else if ((*cp >= 'A') &&  (*cp <= 'F'))
+		increment = *cp++ - ('A' - 10);
+	    else if ((*cp >= 'a') && (*cp <= 'f'))
+		increment = *cp++ - ('a' - 10);
+	} else {	/* Decimal */
+	    if ((*cp >= '0') && (*cp <= '9'))
+		increment = *cp++ - '0';
+	}
+	if (increment < 0)
+	    break;
+	*valp = (*valp * base) + increment;
+    }
+
+    /* Skip trailing qualifiers */
     while (*cp == 'U' || *cp == 'u' || *cp == 'L' || *cp == 'l') cp++;
-#if 0
-    *valp = atoi (cp);
-    /* EMPTY */
-    for (cp++; isdigit(*cp); cp++) ;
-#endif
     return cp;
 }
 
 <at>  <at>  -272,7 +302,10  <at>  <at>  parse_product (g, cp, valp)
 
       case '/':
 	DO (cp = parse_product (g, cp + 1, &rightval));
-	*valp = (*valp / rightval);
+	if (rightval)
+	    *valp = (*valp / rightval);
+	else
+	    *valp = LONG_MAX;
 	break;
 
       case '%':
diff --git a/cde/config/makedepend/main.c b/cde/config/makedepend/main.c
index ae67ecb..a28f2a5 100644
--- a/cde/config/makedepend/main.c
+++ b/cde/config/makedepend/main.c
 <at>  <at>  -255,6 +255,17  <at>  <at>  main(argc, argv)
 				argc--;
 			}
 			break;
+		case 'i':
+			if (strncmp(argv[0]+2, "system", 6) == 0) {
+				if (incp >= includedirs + MAXDIRS)
+				    fatalerr("Too many -I flags.\n");
+				*incp++ = argv[0]+8;
+				if (**(incp-1) == '\0') {
+					*(incp-1) = *(++argv);
+					argc--;
+				}
+			}
+			break;
 		case 'Y':
 			defincdir = argv[0]+2;
 			break;
diff --git a/cde/config/makedepend/parse.c b/cde/config/makedepend/parse.c
index 07153be..942d172 100644
--- a/cde/config/makedepend/parse.c
+++ b/cde/config/makedepend/parse.c
 <at>  <at>  -110,7 +110,7  <at>  <at>  int deftype (line, filep, file_red, file, parse_it)
 	int	parse_it;
 {
 	register char	*p;
-	char	*directive, savechar;
+	char	*directive, savechar, *q;
 	register int	ret;
 
 	/*
 <at>  <at>  -167,6 +167,11  <at>  <at>  int deftype (line, filep, file_red, file, parse_it)
 	 */
 	while (*p == ' ' || *p == '\t')
 		p++;
+	q = p + strlen(p);
+	do {
+		q--;
+	} while (*q == ' ' || *q == '\t');
+	q[1] = '\0';
 	switch (ret) {
 	case IF:
 		/*
 <at>  <at>  -227,7 +232,7  <at>  <at>  int deftype (line, filep, file_red, file, parse_it)
 		/*
 		 * copy the definition back to the beginning of the line.
 		 */
-		strcpy (line, p);
+		memmove (line, p, strlen(p) + 1);
 		break;
 	case ELSE:
 	case ENDIF:
diff --git a/cde/databases/Imakefile b/cde/databases/Imakefile
index d7403a0..bb3f8e2 100644
--- a/cde/databases/Imakefile
+++ b/cde/databases/Imakefile
 <at>  <at>  -41,8 +41,9  <at>  <at>  UDB_RELEASE_OPT = -ReleaseStream netbsd
  * Insure that symbols used in the .udb files are undefined for
  * pre-processing by cpp.
  */
-#ifdef RsArchitecture
-/* AIX cpp rejects "hp-ux" as an invalid sub-option. */
+#if defined(LinuxArchitecture) || defined(BSDArchitecture) || \
+    defined(RsArchitecture)
+/* cpp of some systems reject "hp-ux" as an invalid sub-option. */
 UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux         -Uaix -Usun -Uusl -Udec -Uuxp -Uunix
 #else
 UDB_CPP_UNDEF_LIST = -UhpV4 -Uhpux -Uhp-ux -Uaix -Usun -Uusl -Udec -Uuxp -Uunix -Ulinux -Uopenbsd -Ufreebsd -Unetbsd
 <at>  <at>  -56,10 +57,12  <at>  <at>  clean::									 <at>  <at> \
 Concat3(CDE-,Locale,.udb):: ResDB					 <at>  <at> \
 	 <at> echo Building readablename Resources database file.		 <at>  <at> \
 	 <at> rm -f $ <at>  							 <at>  <at> \
-	 <at> echo sed -e 's/%_LANG_%/Lang/g' -e 's/%_ALT_LANG_%/AltLang/g' \ <at>  <at> \
-		-e 's/%_FILENAME_%/runfs/g' ResDB 			 <at>  <at> \
-	 <at> sed -e 's/%_LANG_%/Lang/g' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/runfs/g' ResDB > $ <at> 			 <at>  <at> \
+	 <at> echo $(SED) -e STR(s/%_LANG_%/Lang/g) \			 <at>  <at> \
+		     -e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		     -e STR(s/%_FILENAME_%/runfs/g) ResDB		 <at>  <at> \
+	 <at> $(SED) -e STR(s/%_LANG_%/Lang/g) \				 <at>  <at> \
+		-e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		-e STR(s/%_FILENAME_%/runfs/g) ResDB > $ <at> 		 <at>  <at> \
 									 <at>  <at> \
 clean::									 <at>  <at> \
 	$(RM) Concat3(CDE-HELP-,Locale,.udb)				 <at>  <at> \
 <at>  <at>  -67,10 +70,12  <at>  <at>  clean::									 <at>  <at> \
 CDE-HELP-Locale.udb:: HelpDB						 <at>  <at> \
 	 <at> echo Building readablename Help database file.			 <at>  <at> \
 	 <at> rm -f $ <at> 							 <at>  <at> \
-	 <at> echo sed -e 's/%_LANG_%/HelpLang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/helpfs/g' HelpDB 			 <at>  <at> \
-	 <at> sed -e 's/%_LANG_%/HelpLang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/helpfs/g' HelpDB > $ <at> 		 <at>  <at> \
+	 <at> echo $(SED) -e STR(s/%_LANG_%/HelpLang/) \			 <at>  <at> \
+		     -e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		     -e STR(s/%_FILENAME_%/helpfs/g) HelpDB		 <at>  <at> \
+	 <at> $(SED) -e STR(s/%_LANG_%/HelpLang/) \				 <at>  <at> \
+		-e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		-e STR(s/%_FILENAME_%/helpfs/g) HelpDB > $ <at> 		 <at>  <at> \
 									 <at>  <at> \
 clean::									 <at>  <at> \
 	$(RM) Concat3(CDE-MSG-,Locale,.udb)				 <at>  <at> \
 <at>  <at>  -78,10 +83,12  <at>  <at>  clean::									 <at>  <at> \
 CDE-MSG-Locale.udb:: MsgDB						 <at>  <at> \
 	 <at> echo Building readablename Message catalog database file.	 <at>  <at> \
 	 <at> rm -f $ <at> 							 <at>  <at> \
-	 <at> echo sed -e 's/%_LANG_%/Lang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/msgfs/g' MsgDB  			 <at>  <at> \
-	 <at> sed -e 's/%_LANG_%/Lang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/msgfs/g' MsgDB > $ <at> 			 <at>  <at> \
+	 <at> echo $(SED) -e STR(s/%_LANG_%/Lang/) \				 <at>  <at> \
+		     -e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		     -e STR(s/%_FILENAME_%/msgfs/g) MsgDB		 <at>  <at> \
+	 <at> $(SED) -e STR(s/%_LANG_%/Lang/) \				 <at>  <at> \
+		-e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		-e STR(s/%_FILENAME_%/msgfs/g) MsgDB > $ <at> 		 <at>  <at> \
 									 <at>  <at> \
 clean::									 <at>  <at> \
 	$(RM) Concat3(CDE-INFOLIB-,Locale,.udb)				 <at>  <at> \
 <at>  <at>  -89,10 +96,12  <at>  <at>  clean::									 <at>  <at> \
 CDE-INFOLIB-Locale.udb:: InfoDB						 <at>  <at> \
 	 <at> echo Building readablename Infolib catalog database file.	 <at>  <at> \
 	 <at> rm -f $ <at> 							 <at>  <at> \
-	 <at> echo sed -e 's/%_LANG_%/Lang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/msgfs/g' InfoDB  			 <at>  <at> \
-	 <at> sed -e 's/%_LANG_%/Lang/' -e 's/%_ALT_LANG_%/AltLang/g' \	 <at>  <at> \
-		-e 's/%_FILENAME_%/msgfs/g' InfoDB > $ <at> 
+	 <at> echo $(SED) -e STR(s/%_LANG_%/Lang/) \				 <at>  <at> \
+		     -e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		     -e STR(s/%_FILENAME_%/msgfs/g) InfoDB		 <at>  <at> \
+	 <at> $(SED) -e STR(s/%_LANG_%/Lang/) \				 <at>  <at> \
+		-e STR(s/%_ALT_LANG_%/AltLang/g) \			 <at>  <at> \
+		-e STR(s/%_FILENAME_%/msgfs/g) InfoDB > $ <at> 
 
 .SUFFIXES: .db .udb
 
diff --git a/cde/include/EUSCompat.h b/cde/include/EUSCompat.h
index 3d85398..130f0a1 100644
--- a/cde/include/EUSCompat.h
+++ b/cde/include/EUSCompat.h
 <at>  <at>  -114,11 +114,13  <at>  <at>  typedef enum {B_FALSE, B_TRUE} boolean_t;
 typedef enum {B_FALSE, B_TRUE} boolean_t;
 #define MAXNAMELEN      	256
 
+#if !defined(__FreeBSD__)
 #define iconv_t			int
 #define iconv_open(a, b) 	((iconv_t) -1)
 #define iconv(a, b, c, d, e)	((size_t) 0)
 #define iconv_close(a)		(0)
-#endif /* linux */
+#endif
+#endif
 
 
 /*
diff --git a/cde/lib/DtHelp/il/ilX.c b/cde/lib/DtHelp/il/ilX.c
index 315cf68..a3859b4 100644
--- a/cde/lib/DtHelp/il/ilX.c
+++ b/cde/lib/DtHelp/il/ilX.c
 <at>  <at>  -914,12 +914,12  <at>  <at>  int scaledX, scaledY ;
 
     nSrcLines = *pNLines;
     if (nSrcLines <= 0)
-        return;                                     /* no lines, EXIT */
+        return 0;                                     /* no lines, EXIT */
     pPriv = (ilXPrivPtr)pData->pPrivate;
     pSrcImage = pData->pSrcImage;
     width = pSrcImage->width;
     if (width <= 0)
-        return;                                     /* no width, EXIT */
+        return 0;                                     /* no width, EXIT */
     srcRowBytes = pSrcImage->plane[0].nBytesPerRow;
     pSrcLine = (ilPtr)(pSrcImage->plane[0].pPixels + 
 		       pData->srcLine * srcRowBytes);
diff --git a/cde/lib/DtHelp/il/ilbigray.c b/cde/lib/DtHelp/il/ilbigray.c
index ae0bbcd..4a06c45 100644
--- a/cde/lib/DtHelp/il/ilbigray.c
+++ b/cde/lib/DtHelp/il/ilbigray.c
 <at>  <at>  -242,7 +242,7  <at>  <at>  register int                shift, bitNumber;
 
     nLines = *pNLines;
     if (nLines <= 0)
-        return;                                 /* no lines, EXIT */
+        return 0;                               /* no lines, EXIT */
     if (pPriv->srcBufferHeight)
          bottomLine = pPriv->srcBufferHeight - 1;
     else bottomLine = pData->srcLine + nLines - 1;
diff --git a/cde/lib/DtHelp/il/ilimage.c b/cde/lib/DtHelp/il/ilimage.c
index 357b106..42dda23 100644
--- a/cde/lib/DtHelp/il/ilimage.c
+++ b/cde/lib/DtHelp/il/ilimage.c
 <at>  <at>  -619,11 +619,11  <at>  <at>  register ilImagePtr     pImage;
     pImage = (ilImagePtr)image;
     if (mustBeZero != 0) {
         pImage->o.p.context->error = IL_ERROR_PAR_NOT_ZERO;
-        return;                                                 /* EXIT */
+        return 0;                                                 /* EXIT */
         }
     if (pImage->o.p.objectType != IL_INTERNAL_IMAGE) {
         pImage->o.p.context->error = IL_ERROR_OBJECT_TYPE;
-        return;                                                 /* EXIT */
+        return 0;                                                 /* EXIT */
         }
 
     pImage->o.p.context->error = IL_OK;
diff --git a/cde/lib/DtHelp/il/ilinvert.c b/cde/lib/DtHelp/il/ilinvert.c
index 0a1c092..f36bd85 100644
--- a/cde/lib/DtHelp/il/ilinvert.c
+++ b/cde/lib/DtHelp/il/ilinvert.c
 <at>  <at>  -106,10 +106,10  <at>  <at>  register long               nLines, nPixels;
     dstnbytes = pPriv->dstRowBytes;
     pdstline = pPriv->pDstPixels + dstLine * dstnbytes;
 
-    if (pPriv->nPixels < 0)  return;
+    if (pPriv->nPixels < 0)  return 0;
 
     nLines = *pNLines;
-    if (nLines <= 0) return;
+    if (nLines <= 0) return 0;
 
     while ( nLines--  > 0 ) {
           psrc = psrcline;
diff --git a/cde/lib/DtHelp/il/ilmap.c b/cde/lib/DtHelp/il/ilmap.c
index fc0301a..c62c445 100644
--- a/cde/lib/DtHelp/il/ilmap.c
+++ b/cde/lib/DtHelp/il/ilmap.c
 <at>  <at>  -86,11 +86,11  <at>  <at>  register ilPtr              pSrc, pDst, pTranslate;
     pPriv = (ilMapPrivPtr)pData->pPrivate;
     nRowsM1 = pPriv->width;
     if (nRowsM1 <= 0)
-        return;
+        return 0;
     nRowsM1--;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
     srcRowBytes = pPriv->srcRowBytes;
 <at>  <at>  -135,11 +135,11  <at>  <at>  register ilPtr              pSrc, pDst, pTranslate;
     pPriv = (ilMapPrivPtr)pData->pPrivate;
     nRowsM1 = pPriv->width;
     if (nRowsM1 <= 0)
-        return;
+        return 0;
     nRowsM1--;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
     srcRowBytes = pPriv->srcRowBytes;
diff --git a/cde/lib/DtHelp/il/ilpalette.c b/cde/lib/DtHelp/il/ilpalette.c
index 083e883..46982c4 100644
--- a/cde/lib/DtHelp/il/ilpalette.c
+++ b/cde/lib/DtHelp/il/ilpalette.c
 <at>  <at>  -159,10 +159,10  <at>  <at>  register long               nLinesM1, nPixelsM1Temp;
 
     nPixelsM1 = pPriv->nPixelsM1;
     if (nPixelsM1 < 0)
-        return;
+        return 0;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
         /*  For each src byte: get a long from the cvt'd palette table, then take
diff --git a/cde/lib/DtHelp/il/iltruegray.c b/cde/lib/DtHelp/il/iltruegray.c
index b0004cd..1cefa12 100644
--- a/cde/lib/DtHelp/il/iltruegray.c
+++ b/cde/lib/DtHelp/il/iltruegray.c
 <at>  <at>  -141,10 +141,10  <at>  <at>  register INT32		    i;
     dstnbytes = pPriv->dstRowBytes;
     pdstline = pPriv->pDstPixels + dstLine * dstnbytes;
 
-    if (pPriv->nPixels < 0)  return;
+    if (pPriv->nPixels < 0)  return 0;
 
     nLines = *pNLines;
-    if (nLines <= 0) return;
+    if (nLines <= 0) return 0;
 
     while ( nLines--  > 0 ) {
 
diff --git a/cde/lib/DtHelp/il/ilycbcr.c b/cde/lib/DtHelp/il/ilycbcr.c
index f940918..b627bba 100644
--- a/cde/lib/DtHelp/il/ilycbcr.c
+++ b/cde/lib/DtHelp/il/ilycbcr.c
 <at>  <at>  -327,11 +327,11  <at>  <at>  ilImagePlaneInfo           *pPlane;
         /*  Set nPixels/LinesM1 to # pixels / lines - 1; exit if either 0. */
     nPixelsM1Init = pData->pSrcImage->width;
     if (nPixelsM1Init <= 0)
-        return;
+        return 0;
     nPixelsM1Init--;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
         /*  Point pY/Cb/CrLine to 1st line in src planes; pDstLine to 1st line in dst.
 <at>  <at>  -420,11 +420,11  <at>  <at>  ilImagePlaneInfo           *pPlane;
         /*  Set nPixels/LinesM1 to # pixels / lines - 1; exit if either 0. */
     nPixelsM1Init = pData->pSrcImage->width;
     if (nPixelsM1Init <= 0)
-        return;
+        return 0;
     nPixelsM1Init--;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
         /*  Point pY/Cb/CrLine to 1st line in src planes; pDstLine to 1st line in dst.
 <at>  <at>  -1161,11 +1161,11  <at>  <at>  register long               R, G, B, pixel;
     pPriv = (ilRGBToYCbCrPrivPtr)pData->pPrivate;
     nPixelsM1Init = pData->pSrcImage->width;
     if (nPixelsM1Init <= 0)
-        return;
+        return 0;
     nPixelsM1Init--;
     nLinesM1 = *pNLines;
     if (nLinesM1 <= 0)
-        return;
+        return 0;
     nLinesM1--;
 
         /*  Point pSrcLine to first line of src RGB (pixel-order) data; point 
diff --git a/cde/lib/DtPrint/PrintOptions.c b/cde/lib/DtPrint/PrintOptions.c
index 948527f..4a96a33 100644
--- a/cde/lib/DtPrint/PrintOptions.c
+++ b/cde/lib/DtPrint/PrintOptions.c
 <at>  <at>  -460,7 +460,7  <at>  <at>  _DtPrintGetHdrFtrData(
 
     if (! option) return (void*) NULL;
     XtVaGetValues(option, XmNuserData, &info, NULL);
-    if (info == NULL) return;
+    if (info == NULL) return 0;
 
     index = _DtPrintGetHdrFtrIndex(option);
     return info->specs[index].data;
 <at>  <at>  -484,7 +484,7  <at>  <at>  _DtPrintGetHdrFtrString(
 
     if (! option) return (void*) NULL;
     XtVaGetValues(option, XmNuserData, &info, NULL);
-    if (info == NULL) return;
+    if (info == NULL) return 0;
 
     index = _DtPrintGetHdrFtrIndex(option);
     return info->specs[index].string;
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c b/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
index 3dda794..4f992f8 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimBuffer.c
 <at>  <at>  -1025,7 +1025,7  <at>  <at>  _DtTermPrimBufferInsert
 	_DtTermPrimBufferInsertWc(tb, row, col, (wchar_t *)newChars,
 				  numChars, insertFlag,
 				  returnChars, returnCount);
-	return;
+	return 0;
     }
 
     if (WIDTH(line) < col)
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimParser.c b/cde/lib/DtTerm/TermPrim/TermPrimParser.c
index 5f4738d..c1f0b43 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimParser.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimParser.c
 <at>  <at>  -121,7 +121,7  <at>  <at>  _DtTermPrimParse
 
 	    if (*parseChar == debugChar) {
 		ParseTrap();
-		return;
+		return 0;
 	    }
 	}
     }
diff --git a/cde/lib/csa/Imakefile b/cde/lib/csa/Imakefile
index d64baee..1fb1e58 100644
--- a/cde/lib/csa/Imakefile
+++ b/cde/lib/csa/Imakefile
 <at>  <at>  -105,12 +105,14  <at>  <at>  rtable3_clnt.c rtable3_xdr.c: rtable3.h namechange1.sed namechange2.sed
 rtable2_clnt.c rtable2_xdr.c: rtable3.h namechange1.sed namechange2.sed
 agent_xdr.c agent.c: agent.h
 
+#define RPCGEN rpcgen -h agent.x | $(EXTRASED) \			 <at>  <at> \
+	  $(SED) -f namechange1.sed | \					 <at>  <at> \
+	  $(SED) -f namechange2.sed >> agent.h
+
 agent.h:
 	$(RM) $ <at> 
 	cat agent.wrapbegin > agent.h
-	rpcgen -h agent.x | $(EXTRASED) \
-	  sed -f namechange1.sed | \
-	  sed -f namechange2.sed >> agent.h
+	RPCGEN
 	cat agent.wrapend >> agent.h
 
 .SUFFIXES: .x
diff --git a/cde/lib/tt/mini_isam/isdatconv.c b/cde/lib/tt/mini_isam/isdatconv.c
index 32ba169..eacbb6a 100644
--- a/cde/lib/tt/mini_isam/isdatconv.c
+++ b/cde/lib/tt/mini_isam/isdatconv.c
 <at>  <at>  -140,7 +140,7  <at>  <at>  ldchar(src, len, dst)
     register char	*p;
 
     if (len <= 0)
-	return;
+	return 0;
 
     /* Load the entire string. */
     memcpy((void *) dst, (const void *) src, len);
 <at>  <at>  -165,7 +165,7  <at>  <at>  stchar(src, dst, len)
     register char	c;
 
     if (len <= 0)
-	return;
+	return 0;
 
     /* Copy up to NULL character. */
     do {
 <at>  <at>  -190,7 +190,7  <at>  <at>  ldchar2(src, len, dst)
     register char       *p;
  
     if (len <= 0)
-        return;
+        return 0;
  
     /* Load the entire string. */
     memcpy((void *) dst, (const void *) src, len);
 <at>  <at>  -206,7 +206,7  <at>  <at>  stchar2(src, dst, len)
     register char       c;
  
     if (len <= 0)
-        return;
+        return 0;
  
     /* Copy up to a NULL character. */
     do {
diff --git a/cde/lib/tt/mini_isam/isrepair.c b/cde/lib/tt/mini_isam/isrepair.c
index 0d535e7..124a505 100644
--- a/cde/lib/tt/mini_isam/isrepair.c
+++ b/cde/lib/tt/mini_isam/isrepair.c
 <at>  <at>  -411,7 +411,7  <at>  <at>  printkey(n, pkdesc, print)
 
     if (pkdesc->k_nparts == 0) {
 	print("%3d: --- NO PRIMARY KEY ---\n", n);
-	return;
+	return 0;
     }
 
     if (n == 1)
diff --git a/cde/programs/dsdm/proxy.c b/cde/programs/dsdm/proxy.c
index ac20864..3d3c173 100644
--- a/cde/programs/dsdm/proxy.c
+++ b/cde/programs/dsdm/proxy.c
 <at>  <at>  -517,7 +517,7  <at>  <at>  AdvertiseMotifDropSite(dpy, win)
 	XFree(data);
     }
     if (motif_receiver)
-	return;
+	return 0;
 
 #ifdef DEBUG
     printf("AdvertiseMotifDropSite\n");
diff --git a/cde/programs/dtcm/dtcm/todo.c b/cde/programs/dtcm/dtcm/todo.c
index f30386b..9249571 100644
--- a/cde/programs/dtcm/dtcm/todo.c
+++ b/cde/programs/dtcm/dtcm/todo.c
 <at>  <at>  -2483,7 +2483,7  <at>  <at>  todo_insert(Dtcm_appointment *appt, CSA_entry_handle *new_a, Calendar *c) {
 		 * occurred.
 		 */
 		_DtTurnOffHourGlass(t->frame);
-		return;
+		return 0;
 	case 4:
 	default:
 		/*
 <at>  <at>  -2501,7 +2501,7  <at>  <at>  todo_insert(Dtcm_appointment *appt, CSA_entry_handle *new_a, Calendar *c) {
 
 	if (stat != CSA_SUCCESS) {
 		_DtTurnOffHourGlass(t->frame);
-		return;
+		return 0;
 	}
 	csa_free((CSA_buffer) new_a);
 
diff --git a/cde/programs/dtcm/dtcm/x_graphics.c b/cde/programs/dtcm/dtcm/x_graphics.c
index ad85028..9458b6f 100644
--- a/cde/programs/dtcm/dtcm/x_graphics.c
+++ b/cde/programs/dtcm/dtcm/x_graphics.c
 <at>  <at>  -1677,7 +1677,7  <at>  <at>  cm_count_appts(CMGraphicsInfo *gInfo, CSA_entry_handle *list, int a_total,
     if (stat != CSA_SUCCESS)
     {
       free_appt_struct(&appt);
-      return;
+      return 0;
     }
     skip_appt = B_FALSE;
 
diff --git a/cde/programs/dticon/image.c b/cde/programs/dticon/image.c
index 860f64e..4a01343 100644
--- a/cde/programs/dticon/image.c
+++ b/cde/programs/dticon/image.c
 <at>  <at>  -486,7 +486,7  <at>  <at>  Flood_Fill(
   struct seg stack[MAX], *sp = stack;
 
   old_pixel = XGetPixel(color_image, x, y);	/* read pv at seed point */
-  if (old_pixel==new_pixel || x<0 || x>width || y<0 || y>height) return;
+  if (old_pixel==new_pixel || x<0 || x>width || y<0 || y>height) return 0;
   PUSH(y, x, x, 1);			/* needed in some cases */
   PUSH(y+1, x, x, -1);		/* seed segment (popped 1st) */
 
diff --git a/cde/programs/dticon/utils.c b/cde/programs/dticon/utils.c
index dc4e2fa..3034529 100644
--- a/cde/programs/dticon/utils.c
+++ b/cde/programs/dticon/utils.c
 <at>  <at>  -1755,7 +1755,7  <at>  <at>  Select_New_Pen(
       XmToggleButtonSetState(StaticWid[new_pen], True, False);
     else
       XmToggleButtonSetState(DynamicWid[new_pen], True, False);
-    return;
+    return 0;
    }
 
 /*** un-set the previous choice ***/
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
index 0668ec0..cd1d899 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/Expression.C
 <at>  <at>  -293,6 +293,9  <at>  <at>  ConstantNode::evaluate() const
 
 extern unsigned g_validation_mode;
 
+#if defined(__FreeBSD__) && (__FreeBSD__ >= 10) && !defined(__llvm__)
+__attribute__((optimize(0)))
+#endif
 FeatureValue *
 SgmlAttributeNode::evaluate() const
 {
diff --git a/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C b/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
index 15dae7d..686e170 100644
--- a/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
+++ b/cde/programs/dtinfo/DtMmdb/StyleSheet/defToken.C
 <at>  <at>  -495,11 +495,13  <at>  <at>  void defParser_init_buffer defParser_PROTO(( defParser_BUFFER_STATE b, FILE *fil
 
 #define defParser_new_buffer defParser_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int defParserinput defParser_PROTO(( void ));
 #else
 static int input defParser_PROTO(( void ));
 #endif
+#endif
 
 defParser_DECL
     {
 <at>  <at>  -1104,6 +1106,7  <at>  <at>  register defParser_CHAR *defParser_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int defParserinput()
 #else
 <at>  <at>  -1170,6 +1173,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef defParser_USE_PROTOS
diff --git a/cde/programs/dtinfo/DtMmdb/compression/ps.C b/cde/programs/dtinfo/DtMmdb/compression/ps.C
index 1e384f5..598f366 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/ps.C
+++ b/cde/programs/dtinfo/DtMmdb/compression/ps.C
 <at>  <at>  -427,11 +427,13  <at>  <at>  void ps_init_buffer ps_PROTO(( ps_BUFFER_STATE b, FILE *file ));
 
 #define ps_new_buffer ps_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int psinput ps_PROTO(( void ));
 #else
 static int input ps_PROTO(( void ));
 #endif
+#endif
 
 ps_DECL
     {
 <at>  <at>  -856,6 +858,7  <at>  <at>  register ps_CHAR *ps_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int psinput()
 #else
 <at>  <at>  -922,6 +925,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef ps_USE_PROTOS
diff --git a/cde/programs/dtinfo/DtMmdb/compression/sgml.C b/cde/programs/dtinfo/DtMmdb/compression/sgml.C
index e503afa..f106992 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/sgml.C
+++ b/cde/programs/dtinfo/DtMmdb/compression/sgml.C
 <at>  <at>  -433,11 +433,13  <at>  <at>  void sgml_init_buffer sgml_PROTO(( sgml_BUFFER_STATE b, FILE *file ));
 
 #define sgml_new_buffer sgml_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int sgmlinput sgml_PROTO(( void ));
 #else
 static int input sgml_PROTO(( void ));
 #endif
+#endif
 
 sgml_DECL
     {
 <at>  <at>  -867,6 +869,7  <at>  <at>  register sgml_CHAR *sgml_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int sgmlinput()
 #else
 <at>  <at>  -933,6 +936,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef sgml_USE_PROTOS
diff --git a/cde/programs/dtinfo/DtMmdb/compression/trie.C b/cde/programs/dtinfo/DtMmdb/compression/trie.C
index c92abfe..d40449b 100644
--- a/cde/programs/dtinfo/DtMmdb/compression/trie.C
+++ b/cde/programs/dtinfo/DtMmdb/compression/trie.C
 <at>  <at>  -163,7 +163,6  <at>  <at>  void trie::extend_alphabet()
         new_alphabet[k + estimated_sz] = 0;
      }
 
-     new_alphabet = new_alphabet;
      estimated_sz *= 2;
   }
 }
diff --git a/cde/programs/dtinfo/DtMmdb/index/mphf_index.h b/cde/programs/dtinfo/DtMmdb/index/mphf_index.h
index b8301c8..042b7a3 100644
--- a/cde/programs/dtinfo/DtMmdb/index/mphf_index.h
+++ b/cde/programs/dtinfo/DtMmdb/index/mphf_index.h
 <at>  <at>  -112,7 +112,6  <at>  <at>  protected:
 
 private:
    fast_mphf_handler *v_mphf;     // hash func
-   inv_lists_handler *v_invlists; // list of inv_list
 
    char* f_key_file_name; 
 };
diff --git a/cde/programs/dtinfo/DtMmdb/schema/token.C b/cde/programs/dtinfo/DtMmdb/schema/token.C
index 0117c0e..18cde82 100644
--- a/cde/programs/dtinfo/DtMmdb/schema/token.C
+++ b/cde/programs/dtinfo/DtMmdb/schema/token.C
 <at>  <at>  -512,11 +512,13  <at>  <at>  void  schema_init_buffer  schema_PROTO((  schema_BUFFER_STATE b, FILE *file ));
 
 #define  schema_new_buffer  schema_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int  schemainput  schema_PROTO(( void ));
 #else
 static int input  schema_PROTO(( void ));
 #endif
+#endif
 
  schema_DECL
     {
 <at>  <at>  -1116,6 +1118,7  <at>  <at>  register  schema_CHAR * schema_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int  schemainput()
 #else
 <at>  <at>  -1182,6 +1185,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef  schema_USE_PROTOS
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/BookmarkEditMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/BookmarkEditMotif.hh
index d445361..08e93b2 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/BookmarkEditMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/BookmarkEditMotif.hh
 <at>  <at>  -27,7 +27,7  <at>  <at>  class WXmTextField;
 class WXmText;
 #include <WWL/WXmPushButtonGadget.h>
 class Mark;
-class MarkMoved;
+struct MarkMoved;
 
 class BookmarkEdit : public Dialog, public UAS_Receiver<MarkMoved>
 {
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.C b/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.C
index d504568..b995f1d 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.C
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.C
 <at>  <at>  -435,21 +435,16  <at>  <at>  GraphicAgent::create_ui()
   PixmapGraphic &pgraphic = *(f_graphic->pixmap_graphic());
 
   Graphic *graphic = f_graphic ;
+  UAS_String buffer = CATGETS(Set_GraphicAgent, 8, "Dtinfo: ");
   UAS_String titleStr(graphic->title());
   const char *title = titleStr ;
 
   if (title == NULL || *title == '\0')	// empty string 
     title = (char *)CATGETS(Set_GraphicAgent, 2, "Detached Graphic");
+  buffer = buffer + title;
 
-  {
-
-    UAS_String buffer = CATGETS(Set_GraphicAgent, 8, "Dtinfo: ");
-    buffer = buffer + title;
-
-    f_shell.Title((char*)buffer);
-    f_shell.IconName((char*)buffer);
-
-  }
+  f_shell.Title((char*)buffer);
+  f_shell.IconName((char*)buffer);
 
   args.Reset();
   panner.CanvasWidth (pgraphic.width(), args);
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.hh
index e4cd65e..e76dfdc 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/GraphicAgentMotif.hh
 <at>  <at>  -95,7 +95,6  <at>  <at>  private:
   UAS_Pointer<UAS_Common>	f_node_ptr ;
   UAS_Pointer<Graphic>	f_graphic ;
   WXawPanner           *f_panner;
-  WXmLabel	       *f_label;
   WPixmap	       *f_pixmap_widget ;
   unsigned int		f_panner_state ;
   unsigned int          f_current_scale;
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
index 78ecb89..1ba846d 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/LibraryAgentMotif.hh
 <at>  <at>  -38,7 +38,7  <at>  <at>  class IcccmAgent;
 
 struct OutlineListSelectionData;
 
-class TrackingEntry;
+struct TrackingEntry;
 
 class LibraryAgent : public Agent,
 		     public UAS_Receiver<UAS_DocumentRetrievedMsg>
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/MarkCanvas.hh b/cde/programs/dtinfo/dtinfo/src/Agents/MarkCanvas.hh
index 9e7a144..4226876 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/MarkCanvas.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/MarkCanvas.hh
 <at>  <at>  -29,8 +29,8  <at>  <at> 
 class Agent;
 class Mark;
 class MarkIcon;
-class MarkSelectionChanged;
-class MarkChanged;
+struct MarkSelectionChanged;
+struct MarkChanged;
 
 class MarkCanvas : public Destructable, 
 		   public UAS_Receiver<MarkChanged> 
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.C b/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.C
index 357668e..f8849fc 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.C
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.C
 <at>  <at>  -93,8 +93,7  <at>  <at>  MarkIcon::MarkIcon (Widget parent,
 		    Widget chooser_parent,
 		    MarkCanvas *mark, 
 		    int ypos, int scrollbar_offset)
-: f_icon_char (0),
-  f_selected (FALSE),
+: f_selected (FALSE),
   f_y_position (ypos),
   f_chooser_parent (chooser_parent)
 {
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.hh
index d5e59dc..994edcc 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/MarkIconMotif.hh
 <at>  <at>  -88,7 +88,6  <at>  <at>  private:
   // MarkTml objects are stored in reverse order in the list
   // to allow quick access to the last element. 
   xList<MarkCanvas *> f_mark_list;
-  char             f_icon_char;
   bool             f_selected;
   unsigned int     f_offset;
   unsigned int	   f_y_position ;
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/MarkListView.hh b/cde/programs/dtinfo/dtinfo/src/Agents/MarkListView.hh
index 63605a3..c64fa28 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/MarkListView.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/MarkListView.hh
 <at>  <at>  -32,8 +32,8  <at>  <at> 
 #include <WWL/WXmPushButton.h>
 #include <WWL/WXmList.h>
 
-class MarkCreated;
-class MarkDeleted;
+struct MarkCreated;
+struct MarkDeleted;
 
 class MarkListView : public WWL,
 		     public UAS_Receiver<MarkCreated>,
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
index fe5f786..1bb1371 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.C
 <at>  <at>  -630,9 +630,11  <at>  <at>  g_view_mark()
 }
 
 
+#if 0
 static unsigned
 find_segment_offset (_DtCvSegment *start, const _DtCvSegment *target,
 		     unsigned &offset);
+#endif
 
 static void
 arm_callback (void *client_data)
 <at>  <at>  -4451,6 +4453,7  <at>  <at>  NodeWindowAgent::SetTopic(_DtCvTopicPtr topic)
 // stack of the parents
 
 
+#if 0
 static _DtCvSegment *
 contains(_DtCvSegment *root, _DtCvSegment *segment)
 {
 <at>  <at>  -4527,6 +4530,7  <at>  <at>  next_string_segment(_DtCvSegment *root, _DtCvSegment *start)
 
   return 0;
 }
+#endif
 
 
 
 <at>  <at>  -4650,6 +4654,7  <at>  <at>  NodeWindowAgent::create_canvas_mark(_DtCvHandle  canvas,
   return mark_canvas ;
 }
 
+#if 0
 static unsigned
 find_segment_offset (_DtCvSegment *start, const _DtCvSegment *target,
 		     unsigned &offset)
 <at>  <at>  -4701,6 +4706,7  <at>  <at>  find_segment_offset (_DtCvSegment *start, const _DtCvSegment *target,
   
   return found ;
 }
+#endif
 
 void
 NodeWindowAgent::link_to (const char *locator)
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.hh b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.hh
index 512a742..28e5293 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/NodeWindowAgentMotif.hh
 <at>  <at>  -51,15 +51,15  <at>  <at>  class WXmCascadeButton;
 class WXmForm;
 class HitList;
 class Ancestor;
-class SelectionChanged;
+struct SelectionChanged;
 class BookTab;
 class PixmapGraphic;
-class MarkSelectionChanged;
+struct MarkSelectionChanged;
 class ScopeMenu;
 class Graphic;
 class Mark;
-class MarkCreated;
-class MarkDeleted;
+struct MarkCreated;
+struct MarkDeleted;
 class MarkCanvas ;
 class MarkIcon ;
 // class DetachGraphic;
diff --git a/cde/programs/dtinfo/dtinfo/src/Agents/ScopeMenu.hh b/cde/programs/dtinfo/dtinfo/src/Agents/ScopeMenu.hh
index 6f27c87..d2e3ce8 100644
--- a/cde/programs/dtinfo/dtinfo/src/Agents/ScopeMenu.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Agents/ScopeMenu.hh
 <at>  <at>  -36,7 +36,7  <at>  <at> 
 
 #include <WWL/WXmMenu.h>
 class WXmArrowButton;
-class UpdateMenu;
+struct UpdateMenu;
 
 
 // A ScopeMenu is not a real menu, it's only an object responsible to update
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
index c506094..f48bac8 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.C
 <at>  <at>  -55,8 +55,8  <at>  <at>  public: // functions
   HashBucket()
     // NOTE: remove 3rd param after testing
     : List (10, 10, List::GROW_ADD) { };
-  FolioObject *find (const FolioObject &);
-  void remove (const FolioObject &);
+  int find (FolioObject &);
+  void remove (FolioObject &);
 };
 
 
 <at>  <at>  -64,18 +64,18  <at>  <at>  public: // functions
 // bucket find
 // /////////////////////////////////////////////////////////////////
 
-FolioObject *
-HashBucket::find (const FolioObject &element)
+int
+HashBucket::find (FolioObject &element)
 {
   register int i;
 
   for (i = 0; i < f_length; i++)
     {
       if (((Hashable *)f_list_element[i])->equals ((Hashable &) element))
-	return ((Hashable *) f_list_element[i]);
+	return (i);
     }
 
-  return (NULL);
+  return (-1);
 }
 
 
 <at>  <at>  -84,7 +84,7  <at>  <at>  HashBucket::find (const FolioObject &element)
 // /////////////////////////////////////////////////////////////////
 
 void
-HashBucket::remove (const FolioObject &element)
+HashBucket::remove (FolioObject &element)
 {
   register int i;
 
 <at>  <at>  -140,7 +140,7  <at>  <at>  HashTbl::add (Hashable &element)
     f_hash_bucket[where] = new HashBucket();
 
   /* -------- See if it exists. -------- */
-  if (f_hash_bucket[where]->find (element) == NULL)
+  if (f_hash_bucket[where]->find (element) == -1)
     /* -------- Finally, add it. -------- */
     f_hash_bucket[where]->append (element);
 }
 <at>  <at>  -150,15 +150,15  <at>  <at>  HashTbl::add (Hashable &element)
 // find - find an entry in the hash table
 // /////////////////////////////////////////////////////////////////
 
-Hashable *
-HashTbl::find (const Hashable &element) const
+int
+HashTbl::find (Hashable &element) const
 {
   u_int where = element.hash_code (0, f_num_buckets - 1);
 
   if (f_hash_bucket[where] != NULL)
-    return ((Hashable *) f_hash_bucket[where]->find (element));
+    return (f_hash_bucket[where]->find (element));
   else
-    return (NULL);
+    return (-1);
 }
 
 
 <at>  <at>  -167,7 +167,7  <at>  <at>  HashTbl::find (const Hashable &element) const
 // /////////////////////////////////////////////////////////////////
 
 void
-HashTbl::remove (const Hashable &element)
+HashTbl::remove (Hashable &element)
 {
   u_int where = element.hash_code (0, f_num_buckets - 1);
   if (f_hash_bucket[where] != NULL)
diff --git a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.hh b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.hh
index e8397e8..6ccd67b 100644
--- a/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Basic/HashTbl.hh
 <at>  <at>  -31,9 +31,9  <at>  <at>  public: // functions
   void add (Hashable &);
   void add (Hashable *h)
     { add (*h); }
-  void remove (const Hashable &);
+  void remove (Hashable &);
   void remove_all (bool delete_elements = FALSE);
-  Hashable *find (const Hashable &) const;
+  int find (Hashable &) const;
 
 protected: // variables
   HashBucket **f_hash_bucket;
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/EnvMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/EnvMgr.hh
index ffa585c..5833869 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/EnvMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/EnvMgr.hh
 <at>  <at>  -99,7 +99,6  <at>  <at>  private:   // data
   char                 *f_lang;
   char                 *f_home;
   char                 *f_user_path;
-  char                 *f_lang_normalized;
 
     // option flags and data
   UAS_String            f_infolibsStr;
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/GlobalHistoryMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/GlobalHistoryMgr.hh
index 5d04af1..fa831fe 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/GlobalHistoryMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/GlobalHistoryMgr.hh
 <at>  <at>  -27,8 +27,8  <at>  <at> 
 
 #include "UAS.hh"
 
-class HistoryDelete;
-class HistoryAdd;
+struct HistoryDelete;
+struct HistoryAdd;
 class NodeHistoryAgent;
 
 class GlobalHistoryMgr : public Long_Lived,
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/LocalHistoryMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/LocalHistoryMgr.hh
index bd96d98..b396893 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/LocalHistoryMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/LocalHistoryMgr.hh
 <at>  <at>  -27,7 +27,7  <at>  <at> 
 
 #include "UAS.hh"
 
-class Anchor;
+struct Anchor;
 
 class LocalHistoryEntry
 {
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/MarkMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/MarkMgr.hh
index 24791fe..39fd127 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/MarkMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/MarkMgr.hh
 <at>  <at>  -30,7 +30,7  <at>  <at> 
 
 class Mark;
 class MarkBase;
-class Anchor;
+struct Anchor;
 class MarkListView;
 
 class MarkMgr : public Long_Lived
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.C b/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.C
index 3c6a9f9..dcc42d5 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.C
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.C
 <at>  <at>  -156,8 +156,7  <at>  <at>  MessageMgr::MessageMgr() :
  f_nodeview_process(0),
  f_popped_up(False),
  f_pressed_ok(False),
- f_exit_flag(False),
- f_dialog_active(False)
+ f_exit_flag(False)
 
 {
     MessageAgent::request ((UAS_Receiver<CancelOperation> *) this);
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.hh
index e1bab10..67e9bf3 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/MessageMgr.hh
 <at>  <at>  -83,7 +83,6  <at>  <at>  private: // variables
   bool			f_popped_up;
   bool			f_pressed_ok;
   bool			f_exit_flag;
-  bool			f_dialog_active;
 
 private:
   LONG_LIVED_HH(MessageMgr,message_mgr);
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.C b/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.C
index 35a206c..1c3ac58 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.C
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.C
 <at>  <at>  -128,7 +128,7  <at>  <at>  static PrintNode node_printer;
 // /////////////////////////////////////////////////////////////////
 
 PrintMgr::PrintMgr()
-    : f_print_panel(NULL), f_npa(NULL), f_font_scale(0)
+    : f_npa(NULL), f_font_scale(0)
 {
     RCS_DEBUG("PrintMgr::PrintMgr called.");
     set_font_scale(pref_mgr().get_int(PrefMgr::FontScale));
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.hh
index e4c981d..24d0717 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/PrintMgr.hh
 <at>  <at>  -71,7 +71,6  <at>  <at>  public:
     void set_font_scale(int);  
 
 private:
-    PrintPanelAgent * f_print_panel;
     NodePrintAgent * f_npa;      
     UAS_Pointer<UAS_Common> f_last_printed;	
     int	f_font_scale ; // for old style.sheet    
diff --git a/cde/programs/dtinfo/dtinfo/src/Managers/TtIpcMgr.hh b/cde/programs/dtinfo/dtinfo/src/Managers/TtIpcMgr.hh
index be507fb..3bc61b4 100644
--- a/cde/programs/dtinfo/dtinfo/src/Managers/TtIpcMgr.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Managers/TtIpcMgr.hh
 <at>  <at>  -79,7 +79,6  <at>  <at>  class TtIpcMgr : public Long_Lived
  private: // data
 
     char  	*procid ;		// tt id for process
-    Tt_pattern  *sess_patterns ;	// tt patterns array for process
     Tt_status	 tt_state ;
 } ;
 
diff --git a/cde/programs/dtinfo/dtinfo/src/Marks/Anchor.hh b/cde/programs/dtinfo/dtinfo/src/Marks/Anchor.hh
index 5d8f030..bd367ca 100644
--- a/cde/programs/dtinfo/dtinfo/src/Marks/Anchor.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Marks/Anchor.hh
 <at>  <at>  -26,7 +26,7  <at>  <at> 
  */
 
 
-class Anchor
+struct Anchor
 {
 public:
   Anchor (const char *location, const char *format, bool keep = FALSE)
diff --git a/cde/programs/dtinfo/dtinfo/src/Marks/Mark.hh b/cde/programs/dtinfo/dtinfo/src/Marks/Mark.hh
index c33f142..751af53 100644
--- a/cde/programs/dtinfo/dtinfo/src/Marks/Mark.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Marks/Mark.hh
 <at>  <at>  -31,12 +31,12  <at>  <at> 
  # include "UAS.hh"
 
 
-class Anchor;
-class MarkChanged;
-class MarkDeleted;
-class MarkMoved;
-class EditMark;
-class ViewMark;
+struct Anchor;
+struct MarkChanged;
+struct MarkDeleted;
+struct MarkMoved;
+struct EditMark;
+struct ViewMark;
 
 class Mark
 {
diff --git a/cde/programs/dtinfo/dtinfo/src/Marks/MarkBase.hh b/cde/programs/dtinfo/dtinfo/src/Marks/MarkBase.hh
index e1aedc9..cdb0cb3 100644
--- a/cde/programs/dtinfo/dtinfo/src/Marks/MarkBase.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Marks/MarkBase.hh
 <at>  <at>  -23,7 +23,7  <at>  <at> 
 
 template <class T> class xList;
 class Mark;
-class Anchor;
+struct Anchor;
 
 class MarkBase
 {
diff --git a/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.C b/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.C
index 22bef9c..4583f27 100644
--- a/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.C
+++ b/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.C
 <at>  <at>  -1835,7 +1835,6  <at>  <at>  PartialElementFeatures::~PartialElementFeatures()
 ElementFeatures::ElementFeatures(CanvasRenderer* renderer)
 : PartialElementFeatures(renderer),
   f_row (NULL),
-  f_graphic (0),
   f_border (_DtCvBORDER_NONE),
   f_border_width(-1), // invalid border width
   f_table (NULL),
diff --git a/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.hh b/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.hh
index b8bdaca..9e9118b 100644
--- a/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.hh
+++ b/cde/programs/dtinfo/dtinfo/src/OnlineRender/CanvasRenderer.hh
 <at>  <at>  -449,7 +449,6  <at>  <at>  public:
 
 private:
   RowDefn*	f_row ;
-  unsigned	f_graphic;
 
   _DtCvFrmtOption	f_border;
   int			f_border_width;
diff --git a/cde/programs/dtinfo/dtinfo/src/Query/QueryTerm.hh b/cde/programs/dtinfo/dtinfo/src/Query/QueryTerm.hh
index acfa21b..2fa566a 100644
--- a/cde/programs/dtinfo/dtinfo/src/Query/QueryTerm.hh
+++ b/cde/programs/dtinfo/dtinfo/src/Query/QueryTerm.hh
 <at>  <at>  -95,7 +95,6  <at>  <at>  private:
   u_char  f_connective;
   char   *f_weight;
   char   *f_proximity;
-  char   *f_scope;
   bool f_term_string_fixed;
   u_char f_type;
   // may need some way to verify the scope... 
diff --git a/cde/programs/dtinfo/dtinfo/src/Templates.C b/cde/programs/dtinfo/dtinfo/src/Templates.C
index 376645c..926b6a2 100644
--- a/cde/programs/dtinfo/dtinfo/src/Templates.C
+++ b/cde/programs/dtinfo/dtinfo/src/Templates.C
 <at>  <at>  -53,7 +53,7  <at>  <at>  class LinkAction;
 class BookTab;
 class MarkTml;
 class MarkIcon;
-class MarkCreated;
+struct MarkCreated;
 class MarkSelectionChanged;
 #ifndef _IBMR2
 class DisplayDocument;
diff --git a/cde/programs/dtinfo/dtinfo/src/Widgets/Tree.c b/cde/programs/dtinfo/dtinfo/src/Widgets/Tree.c
index f448c47..2d62389 100644
--- a/cde/programs/dtinfo/dtinfo/src/Widgets/Tree.c
+++ b/cde/programs/dtinfo/dtinfo/src/Widgets/Tree.c
 <at>  <at>  -962,9 +962,7  <at>  <at>  static void set_tree_size (tw, insetvalues, width, height)
     return;
 }
 
-static void layout_tree (tw, insetvalues)
-    TreeWidget tw;
-    Boolean insetvalues;
+static void layout_tree (TreeWidget tw, Boolean insetvalues)
 {
     int i;
     Dimension *dp;
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
index fb5d917..f9ed1a7 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
 <at>  <at>  -1758,11 +1758,13  <at>  <at>  void ol_data_init_buffer ol_data_PROTO(( ol_data_BUFFER_STATE b, FILE *file ));
 
 #define ol_data_new_buffer ol_data_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int ol_datainput ol_data_PROTO(( void ));
 #else
 static int input ol_data_PROTO(( void ));
 #endif
+#endif
 
 ol_data_DECL
     {
 <at>  <at>  -2248,6 +2250,7  <at>  <at>  register ol_data_CHAR *ol_data_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int ol_datainput()
 #else
 <at>  <at>  -2314,6 +2317,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef ol_data_USE_PROTOS
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
index 0d2565e..16bfba5 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C
 <at>  <at>  -2233,11 +2233,13  <at>  <at>  void remote_init_buffer remote_PROTO(( remote_BUFFER_STATE b, FILE *file ));
 
 #define remote_new_buffer remote_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int remoteinput remote_PROTO(( void ));
 #else
 static int input remote_PROTO(( void ));
 #endif
+#endif
 
 remote_DECL
     {
 <at>  <at>  -2733,6 +2735,7  <at>  <at>  register remote_CHAR *remote_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int remoteinput()
 #else
 <at>  <at>  -2799,6 +2802,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef remote_USE_PROTOS
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
index f628587..78c82b7 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/ReplaceIdIdref.C
 <at>  <at>  -3038,11 +3038,13  <at>  <at>  void nodedata_init_buffer nodedata_PROTO(( nodedata_BUFFER_STATE b, FILE *file )
 
 #define nodedata_new_buffer nodedata_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int nodedatainput nodedata_PROTO(( void ));
 #else
 static int input nodedata_PROTO(( void ));
 #endif
+#endif
 
 nodedata_DECL
     {
 <at>  <at>  -3564,6 +3566,7  <at>  <at>  register nodedata_CHAR *nodedata_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int nodedatainput()
 #else
 <at>  <at>  -3630,6 +3633,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef nodedata_USE_PROTOS
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
index 31ab30d..b22a2f1 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/gr_type.C
 <at>  <at>  -1873,11 +1873,13  <at>  <at>  void graphics_task_init_buffer graphics_task_PROTO(( graphics_task_BUFFER_STATE
 
 #define graphics_task_new_buffer graphics_task_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int graphics_taskinput graphics_task_PROTO(( void ));
 #else
 static int input graphics_task_PROTO(( void ));
 #endif
+#endif
 
 graphics_task_DECL
     {
 <at>  <at>  -2349,6 +2351,7  <at>  <at>  register graphics_task_CHAR *graphics_task_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int graphics_taskinput()
 #else
 <at>  <at>  -2415,6 +2418,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef graphics_task_USE_PROTOS
diff --git a/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C b/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
index 4f03939..3c5d626 100644
--- a/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
+++ b/cde/programs/dtinfo/dtinfogen/infolib/etc/lex.C
 <at>  <at>  -1750,11 +1750,13  <at>  <at>  void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
 
 #define yy_new_buffer yy_create_buffer
 
+#if 0
 #ifdef __cplusplus
 static int yyinput YY_PROTO(( void ));
 #else
 static int input YY_PROTO(( void ));
 #endif
+#endif
 
 YY_DECL
     {
 <at>  <at>  -2322,6 +2324,7  <at>  <at>  register YY_CHAR *yy_bp;
 #endif
 
 
+#if 0
 #ifdef __cplusplus
 static int yyinput()
 #else
 <at>  <at>  -2388,6 +2391,7  <at>  <at>  static int input()
 
     return ( c );
     }
+#endif
 
 
 #ifdef YY_USE_PROTOS
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c b/cde/programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c
index a31c87a..c49059d 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/hash/hashalloc.c
 <at>  <at>  -89,6 +89,8  <at>  <at> 
 #else
 #define __VA_START__(p,a)	va_start(p)
 #endif
+#define va_listval(p)		(*(p))
+#define va_listarg		va_list*
 #endif
 static const char id_hash[] = "\n <at> (#)hash (AT&T Bell Laboratories) 05/09/95\0\n";
 
 <at>  <at>  -112,7 +114,7  <at>  <at>  hashalloc __PARAM__((Hash_table_t* ref, ...), (va_alist)) __OTORP__(va_dcl)
 	register Hash_table_t*	ret = 0;
 	register int		internal;
 	int			n;
-	va_list			ap, vl;
+	va_list			ap;
 	va_list			va[4];
 	va_list*		vp = va;
 	HASHregion		region = 0;
 <at>  <at>  -223,8 +225,7  <at>  <at>  hashalloc __PARAM__((Hash_table_t* ref, ...), (va_alist)) __OTORP__(va_dcl)
 				__va_copy( *vp, ap );
 				vp++;
 			}
-			vl = va_arg(ap, va_list);
-			__va_copy(ap, vl);
+			__va_copy(ap, va_listval(va_arg(ap, va_listarg)));
 #endif
 			break;
 		case 0:
diff --git a/cde/programs/dtksh/ksh93/src/lib/libast/string/tokscan.c b/cde/programs/dtksh/ksh93/src/lib/libast/string/tokscan.c
index 3316b90..dcd5c26 100644
--- a/cde/programs/dtksh/ksh93/src/lib/libast/string/tokscan.c
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/tokscan.c
 <at>  <at>  -89,6 +89,8  <at>  <at> 
 #else
 #define __VA_START__(p,a)	va_start(p)
 #endif
+#define va_listval(p)		(*(p))
+#define va_listarg		va_list*
 #endif
 #include <ast.h>
 
 <at>  <at>  -213,7 +215,6  <at>  <at>  tokscan __PARAM__((register char* s, char** nxt, const char* fmt, ...), (va_alis
 	char**		p_string;
 	char*		prv_f = 0;
 	va_list		prv_ap;
-	va_list*	pap;
 
 	__VA_START__(ap, fmt); __OTORP__(s = va_arg(ap, char* );nxt = va_arg(ap, char** );fmt = va_arg(ap, const char* );)
 	if (!*s || *s == '\n')
 <at>  <at>  -258,8 +259,7  <at>  <at>  tokscan __PARAM__((register char* s, char** nxt, const char* fmt, ...), (va_alis
 			prv_f = f;
 			f = va_arg(ap, char*);
 			__va_copy( prv_ap, ap );
-			pap = va_arg(ap, va_list*);
-			__va_copy( ap, pap );
+			__va_copy(ap, va_listval(va_arg(ap, va_listarg)));
 			continue;
 		case 'c':
 			p_char = va_arg(ap, char*);
diff --git a/cde/programs/dtlogin/choose.c b/cde/programs/dtlogin/choose.c
index 00efa81..c0853af 100644
--- a/cde/programs/dtlogin/choose.c
+++ b/cde/programs/dtlogin/choose.c
 <at>  <at>  -389,7 +389,7  <at>  <at>  ProcessChooserSocket (
     if (client_fd == -1)
     {
 	LogError ((unsigned char *)"Cannot accept chooser connection\n");
-	return;
+	return 0;
     }
     Debug ("Accepted %d\n", client_fd);
     
diff --git a/cde/programs/dtlogin/chooser.c b/cde/programs/dtlogin/chooser.c
index afac4f8..1e6a132 100644
--- a/cde/programs/dtlogin/chooser.c
+++ b/cde/programs/dtlogin/chooser.c
 <at>  <at>  -470,7 +470,7  <at>  <at>  RemoveHostname (host)
 	prev = &hosts->next;
     }
     if (!hosts)
-	return;
+	return 0;
     *prev = host->next;
     DisposeHostname (host);
     NameTableSize--;
 <at>  <at>  -563,12 +563,12  <at>  <at>  RegisterHostaddr (addr, len, type)
 
     host = (HostAddr *) malloc (sizeof (HostAddr));
     if (!host)
-	return;
+	return 0;
     host->addr = (struct sockaddr *) malloc (len);
     if (!host->addr)
     {
 	free ((char *) host);
-	return;
+	return 0;
     }
     memmove( (char *) host->addr, (char *) addr, len);
     host->addrlen = len;
 <at>  <at>  -602,7 +602,7  <at>  <at>  RegisterHostname (name)
 	ifc.ifc_len = sizeof (buf);
 	ifc.ifc_buf = buf;
 	if (ioctl (socketFD, (int) SIOCGIFCONF, (char *) &ifc) < 0)
-	    return;
+	    return 0;
 	for (ifr = ifc.ifc_req
 #if defined (__bsdi__) || defined(__NetBSD__)
 	     ; (char *)ifr < ifc.ifc_buf + ifc.ifc_len;
 <at>  <at>  -665,9 +665,9  <at>  <at>  RegisterHostname (name)
 	{
 	    hostent = gethostbyname (name);
 	    if (!hostent)
-		return;
+		return 0;
 	    if (hostent->h_addrtype != AF_INET || hostent->h_length != 4)
-	    	return;
+	    	return 0;
 	    in_addr.sin_family = hostent->h_addrtype;
 	    memmove( &in_addr.sin_addr, hostent->h_addr, 4);
 	}
 <at>  <at>  -689,10 +689,10  <at>  <at>  RegisterAuthenticationName (name, namelen)
     ARRAY8Ptr	authName;
     if (!XdmcpReallocARRAYofARRAY8 (&AuthenticationNames,
 				    AuthenticationNames.length + 1))
-	return;
+	return 0;
     authName = &AuthenticationNames.data[AuthenticationNames.length-1];
     if (!XdmcpAllocARRAY8 (authName, namelen))
-	return;
+	return 0;
     memmove( authName->data, name, namelen);
 }
 
diff --git a/cde/programs/dtlogin/dm.c b/cde/programs/dtlogin/dm.c
index f898d3b..e497197 100644
--- a/cde/programs/dtlogin/dm.c
+++ b/cde/programs/dtlogin/dm.c
 <at>  <at>  -350,7 +350,7  <at>  <at>  ScanServers( void )
 	    LogError(
 		ReadCatalog(MC_LOG_SET,MC_LOG_NO_SRVACC,MC_DEF_LOG_NO_SRVACC),
 		servers);
-	    return;
+	    return 0;
 	}
 	if (ServersModTime == 0)
 	{
 <at>  <at>  -861,7 +861,7  <at>  <at>  StartDisplay(
      */
     if (d->displayType.origin == FromFile && dt_shutdown ) {
 	RemoveDisplay(d);
-	return;
+	return 0;
     }
     
     {
 <at>  <at>  -949,7 +949,7  <at>  <at>  StartDisplay(
 		LogError ((unsigned char *)"All DT utmp IDs already in use. Removing display %s\n",
 			d->name);
 		RemoveDisplay(d);
-		return;
+		return 0;
 	    }
 	}
 #endif
 <at>  <at>  -1024,7 +1024,7  <at>  <at>  StartDisplay(
 
 	    if (!StartGetty(d))
 		RemoveDisplay (d);
-	    return;
+	    return 0;
 	}
     }
     else
 <at>  <at>  -1442,12 +1442,12  <at>  <at>  SetTitle( char *name, char *ptr )
      *  remove domain qualifiers and screens from name...
      */
 
-    if ( (p = malloc(strlen(name) + 1)) == NULL) return;
+    if ( (p = malloc(strlen(name) + 1)) == NULL) return 0;
     strcpy(p, name);
 
     if ( (s = strchr(p,':')) == NULL ) {
 	free(p);
-	return;
+	return 0;
     }
     
     if ( (t = strchr(s,'.')) != NULL )
diff --git a/cde/programs/dtlogin/dtchooser.c b/cde/programs/dtlogin/dtchooser.c
index a6bc58a..3bb9088 100644
--- a/cde/programs/dtlogin/dtchooser.c
+++ b/cde/programs/dtlogin/dtchooser.c
 <at>  <at>  -1030,7 +1030,7  <at>  <at>  MakeOptionsMenu( void )
 static int 
 ErrorHandler( Display *dpy, XErrorEvent *event )
 {
-    return;
+    return 0;
 }
 
 
diff --git a/cde/programs/dtlogin/file.c b/cde/programs/dtlogin/file.c
index 16d843f..357918c 100644
--- a/cde/programs/dtlogin/file.c
+++ b/cde/programs/dtlogin/file.c
 <at>  <at>  -197,12 +197,12  <at>  <at>  ParseDisplay( char *source,
 
     args = splitIntoWords (source);
     if (!args)
-	return;
+	return 0;
     if (!args[0])
     {
 	LogError(ReadCatalog(MC_LOG_SET,MC_LOG_MISS_NAME,MC_DEF_LOG_MISS_NAME));
 	freeArgs (args);
-	return;
+	return 0;
     }
     name = args[0];
     if (!args[1])
 <at>  <at>  -210,7 +210,7  <at>  <at>  ParseDisplay( char *source,
 	LogError(ReadCatalog(MC_LOG_SET,MC_LOG_MISS_TYPE,MC_DEF_LOG_MISS_TYPE),
 		args[0]);
 	freeArgs (args);
-	return;
+	return 0;
     }
 
     /*
diff --git a/cde/programs/dtlogin/fontpath.c b/cde/programs/dtlogin/fontpath.c
index 87e490a..265c682 100644
--- a/cde/programs/dtlogin/fontpath.c
+++ b/cde/programs/dtlogin/fontpath.c
 <at>  <at>  -103,12 +103,12  <at>  <at>  ApplyFontPathMods( struct display *d, Display *dpy )
 
     if (d->displayType.location == Foreign) {
         Debug("  Foreign display\n");
-        return;
+        return 0;
     }
 
     if (!(fontPath=XGetFontPath(dpy, &numPaths))) {
         Debug("  Can't get font path\n");
-        return;
+        return 0;
     }
 
     /*
diff --git a/cde/programs/dtlogin/genauth.c b/cde/programs/dtlogin/genauth.c
index ae2ed21..5180cec 100644
--- a/cde/programs/dtlogin/genauth.c
+++ b/cde/programs/dtlogin/genauth.c
 <at>  <at>  -120,6 +120,9  <at>  <at>  extern int errno;
 #  ifdef macII
 #   define USE_CRYPT
 #  endif
+#  ifdef __FreeBSD__
+#   define USE_CRYPT
+#  endif
 #  ifdef sun
 #   define USE_CRYPT
 #   if (OSMAJORVERSION >= 4)
 <at>  <at>  -453,7 +456,7  <at>  <at>  InitCryptoKey( void )
     char    *key_file = "/dev/mem";
 #endif    
     if (cryptoInited)
-	return;
+	return 0;
 
     /*
      *  If the sumFile fails to produce a result
diff --git a/cde/programs/dtlogin/protodpy.c b/cde/programs/dtlogin/protodpy.c
index 42a5901..0aa6877 100644
--- a/cde/programs/dtlogin/protodpy.c
+++ b/cde/programs/dtlogin/protodpy.c
 <at>  <at>  -152,7 +152,7  <at>  <at>  DisposeProtoDisplay( struct protoDisplay *pdpy )
 	prev = p;
     }
     if (!p)
-	return;
+	return 0;
     if (prev)
 	prev->next = pdpy->next;
     else
diff --git a/cde/programs/dtlogin/resource.c b/cde/programs/dtlogin/resource.c
index 2c4e62f..98dab29 100644
--- a/cde/programs/dtlogin/resource.c
+++ b/cde/programs/dtlogin/resource.c
 <at>  <at>  -435,7 +435,7  <at>  <at>  GetResource( char *name, char *class, int valueType, char **valuep,
      
      if (valueType == DM_STRING && *valuep) {
  	if (string != NULL && strlen (*valuep) == len && !strncmp (*valuep, string, len))
- 	    return;
+ 	    return 0;
  	else {
  	    free (*valuep);
 	    *(valuep) = NULL;
 <at>  <at>  -450,7 +450,7  <at>  <at>  GetResource( char *name, char *class, int valueType, char **valuep,
 	    if (!new_string) {
 		LogOutOfMem(
 		  ReadCatalog(MC_LOG_SET,MC_LOG_GET_RSC,MC_DEF_LOG_GET_RSC));
-		return;
+		return 0;
 	    }
 	    strncpy (new_string, string, len);
 	    new_string[len] = '\0';
diff --git a/cde/programs/dtlogin/session.c b/cde/programs/dtlogin/session.c
index b36d277..1a9e0f3 100644
--- a/cde/programs/dtlogin/session.c
+++ b/cde/programs/dtlogin/session.c
 <at>  <at>  -1746,7 +1746,7  <at>  <at>  AbortClient( int pid )
 			MC_LOG_SET,MC_LOG_NO_KILLCL,MC_DEF_LOG_NO_KILLCL));
 	    case EINVAL:
 	    case ESRCH:
-		return;
+		return 0;
 	    }
 	}
 	if (!setjmp (tenaciousClient)) {
 <at>  <at>  -1834,11 +1834,11  <at>  <at>  execute(char **argv, char **environ )
 	 */
 	f = fopen (argv[0], "r");
 	if (!f)
-	    return;
+	    return 0;
 	if (fgets (program, sizeof (program) - 1, f) == NULL)
  	{
 	    fclose (f);
-	    return;
+	    return 0;
 	}
 	fclose (f);
 	e = program + strlen (program) - 1;
diff --git a/cde/programs/dtlogin/socket.c b/cde/programs/dtlogin/socket.c
index a0e6ddd..b0f03d5 100644
--- a/cde/programs/dtlogin/socket.c
+++ b/cde/programs/dtlogin/socket.c
 <at>  <at>  -111,13 +111,13  <at>  <at>  CreateWellKnownSockets ()
     char		*name, *localHostname();
 
     if (request_port == 0)
-	    return;
+	    return 0;
     Debug ("creating socket %d\n", request_port);
     xdmcpFd = socket (AF_INET, SOCK_DGRAM, 0);
     if (xdmcpFd == -1) {
 	LogError (ReadCatalog(MC_LOG_SET,MC_LOG_FAIL_SOCK,MC_DEF_LOG_FAIL_SOCK),
 		  request_port);
-	return;
+	return 0;
     }
     name = localHostname ();
     registerHostname (name, strlen (name));
 <at>  <at>  -136,7 +136,7  <at>  <at>  CreateWellKnownSockets ()
 		  request_port, errno);
 	close (xdmcpFd);
 	xdmcpFd = -1;
-	return;
+	return 0;
     }
     WellKnownSocketsMax = xdmcpFd;
     FD_SET (xdmcpFd, &WellKnownSocketsMask);
 <at>  <at>  -146,7 +146,7  <at>  <at>  CreateWellKnownSockets ()
     if (chooserFd == -1)
     {
 	LogError ((unsigned char *)"chooser socket creation failed, errno %d\n", errno);
-	return;
+	return 0;
     }
     listen (chooserFd, 5);
     if (chooserFd > WellKnownSocketsMax)
diff --git a/cde/programs/dtlogin/vgmain.c b/cde/programs/dtlogin/vgmain.c
index 06bf0ee..2bb5990 100644
--- a/cde/programs/dtlogin/vgmain.c
+++ b/cde/programs/dtlogin/vgmain.c
 <at>  <at>  -2106,7 +2106,7  <at>  <at>  MyBackspace( Widget w, XEvent *event, char **params, Cardinal *num_params )
 static int 
 ErrorHandler( Display *dpy, XErrorEvent *event )
 {
-    return;
+    return 0;
 }
 
 
diff --git a/cde/programs/dtpad/printSetup.c b/cde/programs/dtpad/printSetup.c
index 33e537e..4827703 100644
--- a/cde/programs/dtpad/printSetup.c
+++ b/cde/programs/dtpad/printSetup.c
 <at>  <at>  -696,7 +696,7  <at>  <at>  _psUiSpecsAreValid(PrintSetup *pSetup)
     if (pSetup == NULL ||
 	pSetup->dtprintSetup == NULL ||
 	pSetup->widgets == NULL)
-      return;
+      return 0;
     pOption = &pSetup->options;
 
     frame = pSetup->widgets->marginFrame;
diff --git a/cde/programs/dtstyle/ColorPalette.c b/cde/programs/dtstyle/ColorPalette.c
index f602b9b..b73ad7c 100644
--- a/cde/programs/dtstyle/ColorPalette.c
+++ b/cde/programs/dtstyle/ColorPalette.c
 <at>  <at>  -77,7 +77,7  <at>  <at>  AllocatePaletteCells(
     XColor      colors[XmCO_MAX_NUM_COLORS * 5];
 
     if(style.count > 9)
-       return;
+       return 0;
 
     XmeGetPixelData (style.screenNum, &colorUse, pixels,
                                    &(pCurrentPalette->active),
diff --git a/cde/programs/dtterm/DtTermMain.c b/cde/programs/dtterm/DtTermMain.c
index 910ae96..d385f19 100644
--- a/cde/programs/dtterm/DtTermMain.c
+++ b/cde/programs/dtterm/DtTermMain.c
 <at>  <at>  -535,8 +535,8  <at>  <at>  static XtEventHandler TestProbeHandler(
     Arg   al[5];
     
     *ctd = True;
-    if (cm->send_event == False) return;
-    if (cm->message_type != xa_DTTERM_REMOTE_PROBE_REQUEST) return;
+    if (cm->send_event == False) return 0;
+    if (cm->message_type != xa_DTTERM_REMOTE_PROBE_REQUEST) return 0;
     
     reply = (unsigned char*) malloc(sizeof(unsigned char) * 1024);
 
diff --git a/cde/programs/dtudcfonted/libfal/_fallcGeneric.c b/cde/programs/dtudcfonted/libfal/_fallcGeneric.c
index 17d9ed8..75b74b8 100644
--- a/cde/programs/dtudcfonted/libfal/_fallcGeneric.c
+++ b/cde/programs/dtudcfonted/libfal/_fallcGeneric.c
 <at>  <at>  -472,7 +472,7  <at>  <at>  XLCdGenericPart *gen;
                 }
                 if (charsetd == NULL &&
                     (charsetd = srch_charset_define(cset_name,&new)) == NULL)
-                    return ;
+                    return 0;
             }
         } else {
             if(i == 0){
 <at>  <at>  -484,7 +484,7  <at>  <at>  XLCdGenericPart *gen;
         if(new){
             tmp = (char *)Xmalloc(strlen(cset_name)+1);
             if(tmp == NULL){
-                return ;
+                return 0;
             }
             strcpy(tmp,cset_name);
             charsetd->name = tmp;
 <at>  <at>  -528,7 +528,7  <at>  <at>  XLCdGenericPart *gen;
 */
             tmp = (char *)Xmalloc(strlen(value[0])+1);
             if(tmp == NULL){
-                return;
+                return 0;
             }
             charsetd->ct_sequence = tmp;
             string_to_encoding(value[0],tmp);
 <at>  <at>  -597,7 +597,7  <at>  <at>  XLCdGenericPart *gen;
             char *tmp;
             if (conversion == NULL &&
                 (conversion = faladd_conversion(gen)) == NULL) {
-                return ;
+                return 0;
             }
             dbg_printValue(name,value,num);
         } else {
 <at>  <at>  -617,7 +617,7  <at>  <at>  XLCdGenericPart *gen;
             dbg_printValue(name,value,num);
             tmp = (char *)Xmalloc(strlen(value[0])+1);
             if(tmp == NULL){
-                return;
+                return 0;
             }
             strcpy(tmp,value[0]);
             conversion->source_encoding = tmp;
 <at>  <at>  -625,7 +625,7  <at>  <at>  XLCdGenericPart *gen;
             if(new){
                 tmp = (char *)Xmalloc(strlen(conversion->source_encoding)+1);
                 if(tmp == NULL){
-                    return ;
+                    return 0;
                 }
                 strcpy(tmp,conversion->source_encoding);
                 conversion->source->name = tmp;
 <at>  <at>  -639,7 +639,7  <at>  <at>  XLCdGenericPart *gen;
             dbg_printValue(name,value,num);
             tmp = (char *)Xmalloc(strlen(value[0])+1);
             if(tmp == NULL){
-                return;
+                return 0;
             }
             strcpy(tmp,value[0]);
             conversion->destination_encoding = tmp;
 <at>  <at>  -648,7 +648,7  <at>  <at>  XLCdGenericPart *gen;
                 tmp = (char *)Xmalloc(
                     strlen(conversion->destination_encoding)+1);
                 if(tmp == NULL){
-                    return ;
+                    return 0;
                 }
                 strcpy(tmp,conversion->destination_encoding);
                 conversion->dest->name = tmp;
 <at>  <at>  -729,7 +729,7  <at>  <at>  int num;
     if(new){
         tmp = (char *)Xmalloc(strlen(cset_name)+1);
         if(tmp == NULL){
-            return ;
+            return 0;
         }
         strcpy(tmp,cset_name);
         ret->charset->name = tmp;
diff --git a/cde/programs/localized/templates/types.tmpl b/cde/programs/localized/templates/types.tmpl
index 957a62b..8db1bbb 100644
--- a/cde/programs/localized/templates/types.tmpl
+++ b/cde/programs/localized/templates/types.tmpl
 <at>  <at>  -146,13 +146,19  <at>  <at>  DtstyleDescRule(hp.dt,hp.dt)
 DtstyleDescRule(ibm.dt,ibm.dt)
 #endif
 
+#define NLS_CLEAN \							 <at>  <at> \
+	for i in *.nls; do \						 <at>  <at> \
+		[ -z $$i ] && continue; \				 <at>  <at> \
+		[ -h $$i ] && $(RM) $$i; \				 <at>  <at> \
+	done; true;
+
+#define OBJS_CLEAN \							 <at>  <at> \
+	for i in $(OBJS); do \						 <at>  <at> \
+		$(RM) $$i.tmsg; \					 <at>  <at> \
+	done; true;
+
 clean::
 	$(RM) $(OBJS) $(OBJS2)
-	for i in *.nls; do \
-		[ -z $$i ] && continue; \
-		[ -h $$i ] && $(RM) $$i; \
-	done; true; 
-	for i in $(OBJS); do \
-		$(RM) $$i.tmsg; \
-	done; true; 
+	NLS_CLEAN
+	OBJS_CLEAN
 
diff --git a/cde/programs/ttsnoop/Imakefile b/cde/programs/ttsnoop/Imakefile
index 9d23914..16fe4b4 100644
--- a/cde/programs/ttsnoop/Imakefile
+++ b/cde/programs/ttsnoop/Imakefile
 <at>  <at>  -147,39 +147,45  <at>  <at>  $(m.GEN_UI_C) Plus() $(m.GEN_UI_H) Plus() $(m.GEN_STUBS_C++): ttsnoop.bip $(m.SR
 # define CodeGenTarget(m) CodeGenAppendableTarget(m)
 #endif
 
+#define SED_MoreButton $(SED) \						 <at>  <at> \
+	-e 's/\(MoreButton;\)/\1Boolean _DtCanHelp( const char * );/' \	 <at>  <at> \
+	-e 's/\(XtManageChild(Quick_help\)/XtSetSensitive(MoreButton,_DtCanHelp(help_data->help_text));\1/' \	 <at>  <at> \
+	-e 's/\(buffer, vol, loc;\)/\1Boolean _DtHelped( Widget );/' \	 <at>  <at> \
+	-e 's/\(if( (cp=strrchr\)/if (_DtHelped( help_dialog)) return;\1/' \  <at>  <at> \
+	dtb_utils.c > dtb_utils.c.patched
+
+#define SED_DtbTt $(SED) \						 <at>  <at> \
+	-e 's/^DtbTt/extern String snooperArgv[];DtbTt/' \		 <at>  <at> \
+	-e 's/XmNheight, 257,//' \					 <at>  <at> \
+	-e 's/XmNwidth, 580,//' \					 <at>  <at> \
+	-e 's/XmNcolumns, 80,//' \					 <at>  <at> \
+	-e 's/XmNrows, 24/DtNsubprocessArgv, snooperArgv/' \		 <at>  <at> \
+	ttsnoop_ui.c > ttsnoop_ui.c.patched
+
+#define SED_DtbApi $(SED) \						 <at>  <at> \
+	-e 's/^DtbApi/extern String apiTracerArgv[];DtbApi/' \		 <at>  <at> \
+	-e 's/XmNrows, 24/XmNrows, 24, DtNsubprocessArgv, apiTracerArgv/' \  <at>  <at> \
+	apiTracer_ui.c > apiTracer_ui.c.patched
 
 ttsnoop.C ttsnoop.h dtb_utils.c dtb_utils.h: ttsnoop.bip ttsnoop.C.src
 	$(CP) ttsnoop.C.src ttsnoop.c
-	-if [ ! -w ttsnoop.c ]; then \
-		chmod +w ttsnoop.c; fi
+	-if [ ! -w ttsnoop.c ]; then chmod +w ttsnoop.c; fi
 	$(DTCODEGEN) -changed -merge -p ttsnoop.bip -main
 	$(RM) ttsnoop.C
 	$(MV) ttsnoop.c ttsnoop.C
 	chmod -w ttsnoop.C
 	cat externC.h dtb_utils.h closeBrace.h > dtb_utils.h.patched
 	$(MV) dtb_utils.h.patched dtb_utils.h
-	sed \
-	-e 's/\(MoreButton;\)/\1Boolean _DtCanHelp( const char * );/' \
-	-e 's/\(XtManageChild(Quick_help\)/XtSetSensitive(MoreButton,_DtCanHelp(help_data->help_text));\1/' \
-	-e 's/\(buffer, vol, loc;\)/\1Boolean _DtHelped( Widget );/' \
-	-e 's/\(if( (cp=strrchr\)/if (_DtHelped( help_dialog)) return;\1/' \
-	dtb_utils.c > dtb_utils.c.patched
+	SED_MoreButton
 	$(MV) dtb_utils.c.patched dtb_utils.c
 ttsnoop.o: ttsnoop.C ttsnoop.bip $(TARGETS.h) $(TARGETS.h.merged)
 
 CodeGenAppendableTarget(ttsnoop)
-	sed -e 's/^DtbTt/extern String snooperArgv[];DtbTt/' \
-	-e 's/XmNheight, 257,//' \
-	-e 's/XmNwidth, 580,//' \
-	-e 's/XmNcolumns, 80,//' \
-	-e 's/XmNrows, 24/DtNsubprocessArgv, snooperArgv/' \
-	ttsnoop_ui.c > ttsnoop_ui.c.patched
+	SED_DtbTt
 	$(MV) ttsnoop_ui.c.patched ttsnoop_ui.c
 
 CodeGenAppendableTarget(apiTracer)
-	sed -e 's/^DtbApi/extern String apiTracerArgv[];DtbApi/' \
-	-e 's/XmNrows, 24/XmNrows, 24, DtNsubprocessArgv, apiTracerArgv/' \
-	apiTracer_ui.c > apiTracer_ui.c.patched
+	SED_DtbApi
 	$(MV) apiTracer_ui.c.patched apiTracer_ui.c
 
 CodeGenTarget(ttChooser)
--

-- 
1.7.11.5

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel
Jon Trulson | 19 Jul 02:49 2014

Time for a new release?

Yes.  Yes it is :)

I will prepare for a new release by the end of next weekend.  If there are
any outstanding patches, please send them in.

I know there was one posted to the list regarding building on FBSD 10
(though not in the form of an actual patch).  I can add them, but it
would be better if someone with FBSD could check them out, especially
if it (the iconv stuff) works for other fbsd versions as well:

http://sourceforge.net/p/cdesktopenv/mailman/message/32361417/

Thanks!

--

-- 
Jon Trulson

"Don't believe everything you read on the internet."
    --Abraham Lincoln

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
Eugene | 3 May 20:23 2014
Picon

[PATCH] bugfix for stripes of wrong background clolor in dtterm

Hi,

This patch fixes the bug, which caused dtterm to show stripes of wrong
color between text lines when using fontsets that include fonts of slightly
different heights (see the attached screenshots: before and after the
bugfix).

The cause of the bug was that X*DrawImageString draws background
according to the extents of the given string, not to extents of the
font set, which determine terminal line height.

Now, when such a situation is detected, the background is cleared before
drawing the characters.

Regards,
Eugene
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@...
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Gmane