a lot of fixes leading up to ivtools-1.1.3

[email protected] Tue, 24 Feb 2004 10:14:52 -0800
Newsgroups gmane.comp.lib.ivtools.patches
Message-ID <[email protected]>
Patch:    ivtools-040218-johnston-011
For:      ivtools-1.1.2
Author:   [email protected]
Subject:  a lot of fixes leading up to ivtools-1.1.3
Requires:

This is an intermediate patch to ivtools-1.1.2.  To apply, cd to the
top-level directory of the ivtools source tree (the directory with src
and config subdirs), and apply like this:

	patch -p0 <ThisFile

Summary of Changes:

- a lot of fixes leading up to 1.1.3

Index: ComTerp/comterp.c
diff -c ComTerp/comterp.c:1.3 ComTerp/comterp.c:1.4
*** ComTerp/comterp.c:1.3	Wed Feb 11 12:03:30 2004
--- src/ComTerp/comterp.c	Wed Feb 18 09:29:10 2004
***************
*** 890,897 ****
   	       ? handler()->wrfptr() : stdout,
   	       ios_base::out);
   #else
!   fileptr_filebuf fbuf(handler() ? handler()->get_handle() : 1,
! 	       ios_base::out, false, static_cast<size_t>(BUFSIZ));
   #endif
     ostream out(&fbuf);
     boolean eolflag = false;
--- 890,898 ----
   	       ? handler()->wrfptr() : stdout,
   	       ios_base::out);
   #else
!   fileptr_filebuf fbuf(handler()&&handler()->get_handle()>0
! 		       ? handler()->get_handle() : 1,
! 		       ios_base::out, false, static_cast<size_t>(BUFSIZ));
   #endif
     ostream out(&fbuf);
     boolean eolflag = false;
Index: ComTerp/comterpserv.c
diff -c ComTerp/comterpserv.c:1.2 ComTerp/comterpserv.c:1.3
*** ComTerp/comterpserv.c:1.2	Wed Feb 11 12:03:30 2004
--- src/ComTerp/comterpserv.c	Wed Feb 18 09:29:10 2004
***************
*** 324,330 ****
                   FILE* ofptr = fdopen(handler() ? 
handler()->get_handle() : 1, "w");
   	        fileptr_filebuf obuf(ofptr, ios_base::out);
   #else
! 		fileptr_filebuf obuf(handler() ? (int)handler()->get_handle() : 1,
   				     ios_base::out, false, static_cast<size_t>(BUFSIZ));
   #endif
   		ostream ostr(&obuf);
--- 324,331 ----
                   FILE* ofptr = fdopen(handler() ? 
handler()->get_handle() : 1, "w");
   	        fileptr_filebuf obuf(ofptr, ios_base::out);
   #else
! 		fileptr_filebuf obuf(handler()&&handler()->get_handle()>0
! 				     ? (int)handler()->get_handle() : 1,
   				     ios_base::out, false, static_cast<size_t>(BUFSIZ));
   #endif
   		ostream ostr(&obuf);
***************
*** 348,354 ****
             FILE* ofptr = fdopen(handler() ? handler()->get_handle() : 
1, "w");
   	  fileptr_filebuf obuf(ofptr, ios_base::out);
   #else
! 	  fileptr_filebuf obuf(handler() ? (int)handler()->get_handle() : 1,
   			       ios_base::out, false, static_cast<size_t>(BUFSIZ));

   #endif
--- 349,356 ----
             FILE* ofptr = fdopen(handler() ? handler()->get_handle() : 
1, "w");
   	  fileptr_filebuf obuf(ofptr, ios_base::out);
   #else
! 	  fileptr_filebuf obuf(handler()&&handler()->get_handle()>0
! 			       ? (int)handler()->get_handle() : 1,
   			       ios_base::out, false, static_cast<size_t>(BUFSIZ));

   #endif
Index: config_ivtools/params.def
diff -c config_ivtools/params.def:1.2 config_ivtools/params.def:1.3
*** config_ivtools/params.def:1.2	Thu Jan 29 10:52:21 2004
--- config/params.def	Wed Feb 18 09:29:37 2004
***************
*** 27,33 ****
    * Name of the software release
    */
   #ifndef Release
! #define	Release ivtools-1.1.2
   #endif

      RELEASE = Release
--- 27,33 ----
    * Name of the software release
    */
   #ifndef Release
! #define	Release ivtools-1.1.3
   #endif

      RELEASE = Release
***************
*** 36,42 ****
    * VersionNumber
    */
   #ifndef Version
! #define	Version 1.1.2
   #endif

      VERSION = Version
--- 36,42 ----
    * VersionNumber
    */
   #ifndef Version
! #define	Version 1.1.3
   #endif

      VERSION = Version
Index: DrawServ/Imakefile
diff -c DrawServ/Imakefile:1.2 DrawServ/Imakefile:1.3
*** DrawServ/Imakefile:1.2	Thu Feb 12 13:27:07 2004
--- src/DrawServ/Imakefile	Wed Feb 18 09:29:27 2004
***************
*** 8,25 ****

   LIB = DrawServ

   Use_libUnidraw()
   Use_2_6()

   MakeLibrary($(LIB),$(VERSION))

   #define Obj26(file) MakeObjectFromSrcFlags(file,)

   Obj26(drawcatalog)
   Obj26(drawcreator)
   Obj26(drawcomps)
   Obj26(draweditor)
! Obj26(drawfunc)
   Obj26(drawserv)
   Obj26(drawviews)

--- 8,29 ----

   LIB = DrawServ

+ OTHER_CCDEFINES = $(ACE_CCDEFINES)
+ OTHER_CCINCLUDES = $(ACE_CCINCLUDES)
+
   Use_libUnidraw()
   Use_2_6()

   MakeLibrary($(LIB),$(VERSION))

   #define Obj26(file) MakeObjectFromSrcFlags(file,)
+ #define Obj26A(file) MakeObjectFromSrcFlags(file, -D__ACE_INLINE__)

   Obj26(drawcatalog)
   Obj26(drawcreator)
   Obj26(drawcomps)
   Obj26(draweditor)
! Obj26A(drawfunc)
   Obj26(drawserv)
   Obj26(drawviews)

Index: DrawServ/drawfunc.c
diff -c DrawServ/drawfunc.c:1.1 DrawServ/drawfunc.c:1.2
*** DrawServ/drawfunc.c:1.1	Thu Feb 12 13:27:07 2004
--- src/DrawServ/drawfunc.c	Wed Feb 18 09:29:27 2004
***************
*** 37,63 ****
   }

   void DrawServFunc::execute() {
! #if 1
     reset_stack();
!   printf("drawserv func is empty\n");
     push_stack(ComValue::nullval());
   #else
     ComValue hostv(stack_arg(0, true));
!   ComValue portv(stack_arg(1));
!   ComValue cmdstrv(stack_arg(2));
!   static int nowait_sym = symbol_add("nowait");
!   ComValue nowaitv(stack_key(nowait_sym));
     reset_stack();

- #ifdef HAVE_ACE
-
   #if __GNUC__==3&&__GNUC_MINOR__<1
     fprintf(stderr, "Please upgrade to gcc-3.1 or greater\n");
     push_stack(ComValue::nullval());
     return;
   #endif

!   if (hostv.is_string() && portv.is_known() && cmdstrv.is_string()) {

       const char* hoststr = hostv.string_ptr();
       const char* portstr = portv.is_string() ? portv.string_ptr() : 
nil;
--- 37,63 ----
   }

   void DrawServFunc::execute() {
! #ifndef HAVE_ACE
!
     reset_stack();
!   fprintf(stderr, "rebuild ivtools with ACE support to get full 
drawserv functionality\n");
     push_stack(ComValue::nullval());
+
   #else
+
     ComValue hostv(stack_arg(0, true));
!   static int port_sym = symbol_add("port");
!   ComValue default_port(20002);
!   ComValue portv(stack_key(port_sym, false, default_port, true));
     reset_stack();

   #if __GNUC__==3&&__GNUC_MINOR__<1
     fprintf(stderr, "Please upgrade to gcc-3.1 or greater\n");
     push_stack(ComValue::nullval());
     return;
   #endif

!   if (hostv.is_string() && portv.is_known()) {

       const char* hoststr = hostv.string_ptr();
       const char* portstr = portv.is_string() ? portv.string_ptr() : 
nil;
***************
*** 71,119 ****
         return;
       }

- #if __GNUC__<3
-     filebuf ofbuf;
-     ofbuf.attach(socket.get_handle());
- #else
-     fileptr_filebuf ofbuf((int)socket.get_handle(), ios_base::out,
- 			  false, static_cast<size_t>(BUFSIZ));
- #endif
-     ostream out(&ofbuf);
-     const char* cmdstr = cmdstrv.string_ptr();
-     out << cmdstr;
-     if (cmdstr[strlen(cmdstr)-1] != '\n') out << "\n";
-     out.flush();
-     if (nowaitv.is_false()) {
- #if __GNUC__<3
-       filebuf ifbuf;
-       ifbuf.attach(socket.get_handle());
-       istream in(&ifbuf);
-       char* buf;
-       in.gets(&buf);
- #else
-       char buf[BUFSIZ];
-       int i=0;
-       do {
- 	read(socket.get_handle(), buf+i++, 1);
-       } while (i<BUFSIZ-1 && buf[i-1]!='\n');
-       if (buf[i]=='\n') buf[i]==0;
- #endif
-       ComValue& retval = comterpserv()->run(buf, true);
-       push_stack(retval);
-     }
-
       if (socket.close () == -1)
           ACE_ERROR ((LM_ERROR, "%p\n", "close"));
     }

     return;

- #else
-
-   cerr << "for the remote command to work rebuild comterp with ACE\n";
-   return;
-
- #endif
   #endif

   }
--- 71,84 ----
         return;
       }

       if (socket.close () == -1)
           ACE_ERROR ((LM_ERROR, "%p\n", "close"));
+
+     push_stack(ComValue::zeroval());
     }

     return;

   #endif

   }
Index: include_std/version.h
diff -c include_std/version.h:1.1 include_std/version.h:1.2
*** include_std/version.h:1.1	Fri Jan  9 11:46:11 2004
--- src/include/ivstd/version.h	Wed Feb 18 09:29:33 2004
***************
*** 1,3 ****
! #define IvtoolsVersion 1.1.2
! #define VersionString "1.1.2"
! #define ReleaseString "ivtools-1.1.2"
--- 1,3 ----
! #define IvtoolsVersion 1.1.3
! #define VersionString "1.1.3"
! #define ReleaseString "ivtools-1.1.3"
Index: top_ivtools/CHANGES
diff -c top_ivtools/CHANGES:1.1 top_ivtools/CHANGES:1.2
*** top_ivtools/CHANGES:1.1	Fri Jan  9 11:42:09 2004
--- ./CHANGES	Wed Feb 18 09:29:07 2004
***************
*** 1,3 ****
--- 1,15 ----
+ February 18th, 2004  ivtools-1.1.3
+
+ - continue evolution of iostreams usage to keep up with changes to
+ libstdc++-v3.  Many thanks for reinstating a filebuf constructor that
+ accepts an integer file descriptor.  Hard to wrap them around sockets
+ any other way.
+
+ - fix problem with use of ACE on Darwin with gcc-3.3.
+
+ - fix problem with lexical scanning introduced when "#" comment lines
+ were first handled.
+
   December December 8th, 2003  ivtools-1.1.2

   - fixes a problem with using gcc-2.95 to compile ivtools-1.1.*.  It
Index: top_ivtools/Copyright
diff -c top_ivtools/Copyright:1.1 top_ivtools/Copyright:1.3
*** top_ivtools/Copyright:1.1	Fri Jan  9 11:42:09 2004
--- ./Copyright	Wed Feb 18 09:29:07 2004
***************
*** 1,5 ****
   /*
!  * Copyright (c) 2001, 2002, 2003 Scott Johnston
    * Copyright (c) 2000  Vectaport Inc., IET Inc
    * Copyright (c) 1999  Vectaport Inc., IET Inc, R.B. Kissh and 
Associates
    * Copyright (c) 1998  Vectaport Inc., R.B. Kissh and Associates, 
Eric F. Kahler
--- 1,5 ----
   /*
!  * Copyright (c) 2001, 2002, 2003, 2004 Scott E. Johnston
    * Copyright (c) 2000  Vectaport Inc., IET Inc
    * Copyright (c) 1999  Vectaport Inc., IET Inc, R.B. Kissh and 
Associates
    * Copyright (c) 1998  Vectaport Inc., R.B. Kissh and Associates, 
Eric F. Kahler
Index: top_ivtools/INSTALL
diff -c top_ivtools/INSTALL:1.1 top_ivtools/INSTALL:1.2
*** top_ivtools/INSTALL:1.1	Fri Jan  9 11:42:09 2004
--- ./INSTALL	Wed Feb 18 09:29:07 2004
***************
*** 1,7 ****

   			INSTALL for ivtools-1.1

! Instructions for building ivtools-1.1.2 from source, the short 
version:

   	./configure
   	make
--- 1,7 ----

   			INSTALL for ivtools-1.1

! Instructions for building ivtools-1.1.3 from source, the short 
version:

   	./configure
   	make
***************
*** 10,16 ****

   And if that doesn't work...

! Instructions for building ivtools-1.1.2 from source, the long version:

   0. Compilation Environment

--- 10,16 ----

   And if that doesn't work...

! Instructions for building ivtools-1.1.3 from source, the long version:

   0. Compilation Environment

Index: top_ivtools/README
diff -c top_ivtools/README:1.1 top_ivtools/README:1.2
*** top_ivtools/README:1.1	Fri Jan  9 11:42:09 2004
--- ./README	Wed Feb 18 09:29:07 2004
***************
*** 2,8 ****
   			README for ivtools 1.1


! This directory contains a release of ivtools 1.1.2.  You should read
   the rest of this file for information on what ivtools is and the
   INSTALL file for instructions on how to build it.

--- 2,8 ----
   			README for ivtools 1.1


! This directory contains a release of ivtools 1.1.3.  You should read
   the rest of this file for information on what ivtools is and the
   INSTALL file for instructions on how to build it.

Index: top_ivtools/VERSION
diff -c top_ivtools/VERSION:1.1 top_ivtools/VERSION:1.2
*** top_ivtools/VERSION:1.1	Fri Jan  9 11:42:09 2004
--- ./VERSION	Wed Feb 18 09:29:07 2004
***************
*** 1 ****
! Release 1.1.2
--- 1 ----
! Release 1.1.3
*** /dev/null	 Wed Feb 18 09:29:39 PST 2004
--- patches/ivtools-040218-johnston-011
*************** patches/ivtools-040218-johnston-011
*** 0 ****
--- 1 ----
+ ivtools-040218-johnston-011



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click