ORBit2-2.12.4 bugs detected



Hi,

I tried to compile ORBit2-2.12.4 with the SunWSpro compiler on Solaris and encountered some problems:

   * The function 'ch_output_codefrag' look for '#pragma include_defs'.
     If the white space between the pragma and include_defs is a TAB,
     the routine fails. Due to this fact the build of
     'test/inhibit/baa.c' fails. The file baa.idl contains a TAB after
     the pragma statement. Here is the updated code for the routine:

   static void
   ch_output_codefrag(IDL_tree tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci)
   {
     GSList *list;
     static gboolean is_processed;

     for(list = IDL_CODEFRAG(tree).lines; list;
         list = g_slist_next(list)) {

       is_processed = FALSE;
       if(strncmp((char *)list->data,
                   "#pragma",
                   (size_t)sizeof("#pragma")-1) == 0)
       {
           char *ctmp, *cte;

           /*
              Skip #pragma and search for 'include_defs' after any amount
               of white-spaces (blank, or tab) that may come after this.
            */
           ctmp = ((char *)list->data) + sizeof("#pragma");
           while(*ctmp && isspace((int)*ctmp)) ctmp++;

           /*
              After skipping any white-space, we better check for the
   second
               part of the string before continuing
            */
           if(strncmp(ctmp,
                      "include_defs",
                      (size_t)sizeof("include_defs")-1) == 0)
           {
              ctmp = ctmp + sizeof("include_defs");
              while(*ctmp && (isspace((int)*ctmp) || *ctmp == '"')) ctmp++;

              cte = ctmp;
              while(*cte && !isspace((int)*cte) && *cte != '"') cte++;
              *cte = '\0';
              fprintf(ci->fh, "#include <%s>\n", ctmp);
              is_processed = TRUE;
           }
       }
       if (!is_processed)
       {
         fprintf(ci->fh, "%s\n", (char *)list->data);
       }
     }
   }

   * The line feed character leads to 'warning: invalid white space
     character in directive' messages while processing the following lines:
         o src/idl/interop/GIOP.idl
         o src/idl/interop/conv_frame.idl
         o src/idl/interop/CSI.idl
         o src/idl/interop/IOP.idl
         o src/idl/interop/IOP_DCE.idl
         o src/idl/interop/GSSUP.idl
         o src/idl/interop/orbit-specific.idl
         o src/idl/interop/IIOP.idl
         o src/idl/interop/SendingContext.idl
         o src/idl/interop/BiDirPolicy.idl
         o src/idl/interop/CSIIOP.idl
         o src/idl/CORBA_PIDL/CORBA_Interceptor.idl
         o src/idl/CORBA_PIDL/CRBA_Context.idl
         o src/idl/CORBA_PIDL/CORBA_ORB.idl
         o src/idl/CORBA_PIDL/CORBA_Object.idl
         o src/idl/CORBA_PIDL/CORBA_NVList.idl
         o src/idl/CORBA_PIDL/CORBA_ValueBase.idl
         o src/idl/CORBA_PIDL/pseudo_orb.idl
         o src/idl/CORBA_PIDL/CORBA_ServerRequest.idl
         o src/idl/CORBA_PIDL/CORBA_ORB_init.idl
         o src/idl/CORBA_PIDL/CORBA_Request.idl
         o src/idl/CORBA/CORBA_Pollable.idl
         o src/idl/CORBA/CORBA_CustomMarshal.idl
         o src/idl/CORBA/CORBA_Stream.idl
         o src/idl/CORBA/CORBA_InterfaceRepository.idl
         o src/idl/CORBA/CORBA_DomainManager.idl
         o src/idl/CORBA/CORBA_StandardExceptions.idl
         o src/idl/CORBA/CORBA_Policy.idl
         o src/idl/CORBA/orb.idl
         o src/idl/CORBA/CORBA_TypeCode.idl
         o src/idl/CORBA/CORBA_Current.idl
         o src/idl/misc/PortableServer.idl
         o src/idl/misc/DynamicAny.idl

Regards,
Thomas





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]