[Ace-users] Re: [ace-bugs] ACE_Log_Record::print
Johnny Willemsen
jwillemsen at remedy.nl
Tue Jun 26 03:59:39 CDT 2007
Hi,
Thanks, I will commit it when x.5.9 has been released.
Regards,
Johnny Willemsen
Remedy IT
Postbus 101
2650 AC Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl
*** Integrated compile and test statistics see
http://scoreboard.theaceorb.nl ***
*** Commercial service and support for ACE/TAO/CIAO ***
*** See http://www.theaceorb.nl/en/support.html ***
> -----Original Message-----
> From: Hofmann, Christoph [mailto:Christoph.Hofmann at zwick.de]
> Sent: Tuesday, June 26, 2007 6:29 AM
> To: Johnny Willemsen; ace-bugs at cs.wustl.edu
> Subject: AW: [ace-bugs] ACE_Log_Record::print
>
> Hi Johnny,
>
> your patch works also.
>
>
> Best regards
>
> Christoph Hofmann
> Development Software / Projects Division
>
> Zwick GmbH & Co. KG
> August-Nagel-Str. 11
> 89079 Ulm
> Tel: ++49 (0) 7305 - 10-277
> Fax: ++49 (0) 7305 - 10-409
> email: Christoph.Hofmann at Zwick.de
> www.zwick.de / www.zwick.com
>
> A company of the Zwick Roell AG
>
> Zwick GmbH & Co. KG
> Geschäftsführer: Dr. Jan Stefan Roell, Michaela Ganser
> Pers. haftende Gesellschafterin: Zwick
> Verwaltungsgesellschaft mbH, Ulm
> Registergericht: Ulm, HRB 4361 und Ulm, HRA 1980
> USt-IdNr.: DE 147 043 343
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Johnny Willemsen [mailto:jwillemsen at remedy.nl]
> Gesendet: Montag, 25. Juni 2007 13:24
> An: Hofmann, Christoph; ace-bugs at cs.wustl.edu
> Betreff: RE: [ace-bugs] ACE_Log_Record::print
>
> Hi,
>
> Thanks for usign the PRF form, can you test this patch below,
> this is the same code as in Log_Msg.cpp
>
> Regards,
>
> Johnny Willemsen
> Remedy IT
> Postbus 101
> 2650 AC Berkel en Rodenrijs
> The Netherlands
> www.theaceorb.nl / www.remedy.nl
>
> *** Integrated compile and test statistics see
> http://scoreboard.theaceorb.nl ***
> *** Commercial service and support for ACE/TAO/CIAO ***
> *** See http://www.theaceorb.nl/en/support.html ***
>
> #if !defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
> int fwrite_result = ACE_OS::fprintf (fp,
>
> ACE_LIB_TEXT ("%ls"),
> verbose_msg); #else
> int fwrite_result = ACE_OS::fprintf (fp,
>
> ACE_LIB_TEXT ("%s"),
>
> verbose_msg); #endif
>
> > -----Original Message-----
> > From: ace-bugs-bounces at cse.wustl.edu
> > [mailto:ace-bugs-bounces at cse.wustl.edu] On Behalf Of Hofmann,
> > Christoph
> > Sent: Monday, June 25, 2007 1:19 PM
> > To: ace-bugs at cs.wustl.edu
> > Subject: [ace-bugs] ACE_Log_Record::print
> >
> > ACE VERSION: 5.5.8
> >
> > HOST MACHINE and OPERATING SYSTEM:
> > P4 with Suse Linux 10.2
> >
> > TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> > COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc 4.02
> >
> > THE $ACE_ROOT/ace/config.h FILE :
> > #define ACE_HAS_LINUX_NPTL
> > #define ACE_USES_MUTEX_FOR_PROCESS_MUTEX #define
> > ACE_HAS_NONSTATIC_OBJECT_MANAGER #define
> > ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER
> > #define ACE_USES_WCHAR
> > #include "ace/config-linux.h"
> >
> > THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE :
> > LN_S = zwick-ln
> > optimize=0
> > debug=1
> >
> > ZWICK_BUILDSUBDIR=linux/debug
> >
> > VDIR=$(ZWICK_BUILDSUBDIR)/obj/
> > VSHDIR=$(ZWICK_BUILDSUBDIR)/shobj/
> >
> > INSLIB=$(ZWICK_BIN)/$(ZWICK_BUILDSUBDIR)
> > INSBIN=$(ZWICK_BIN)/$(ZWICK_BUILDSUBDIR)
> >
> > include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
> >
> > SHLIB=$(ZWICK_BUILDSUBDIR)/$(SHLIB_UNCHECKED)
> >
> > BIN_TMP=$(ZWICK_BUILDSUBDIR)/$(BIN_UNCHECKED)
> > BIN_UNCHECKED:=$(BIN_TMP)
> >
> > CPPFLAGS += -Werror -Wno-unused-parameter -Wextra #CPPFLAGS +=
> > -ftest-coverage -fprofile-arcs LDFLAGS += -Wl,-rpath
> > -Wl,$(ZWICK_BIN)/$(ZWICK_BUILDSUBDIR)
> >
> > TAO_IDL := $(HOST_ROOT)/bin/tao_idl
> > TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/gperf TAO_IDL_DEP :=
> > $(HOST_ROOT)/bin/tao_idl$(EXEEXT)
> >
> >
> >
> > CONTENTS OF
> > $ACE_ROOT/bin/MakeProjectCreator/config/default.features
> > ???
> >
> > AREA/CLASS/EXAMPLE AFFECTED:
> > Log_Record.cpp
> >
> > DOES THE PROBLEM AFFECT:
> > COMPILATION?
> > No
> > LINKING?
> > No
> > EXECUTION?
> > YES
> > OTHER (please specify)?
> > both
> >
> > SYNOPSIS:
> > If ACE_USES_WCHAR is set, ACE_DEBUG does not work on Linux.
> >
> > DESCRIPTION:
> > I know that ACE_USES_WCHAR is not tested on linux. But I
> found a bug
> > and a potential solution.
> > If ACE_USES_WCHAR is set, ACE_DEBUG does not work on Linux.
> >
> > REPEAT BY:
> >
> > SAMPLE FIX/WORKAROUND:
> > see my workaround also in attached file.
> >
> >
> >
> >
> >
> > int
> > ACE_Log_Record::print (const ACE_TCHAR host_name[],
> > u_long verbose_flag,
> > FILE *fp)
> > {
> > if (ACE_LOG_MSG->log_priority_enabled (ACE_Log_Priority
> > (this->type_)))
> > {
> > ACE_TCHAR *verbose_msg = 0;
> > ACE_NEW_RETURN (verbose_msg,
> > ACE_TCHAR[MAXVERBOSELOGMSGLEN], -1);
> >
> > int result = this->format_msg (host_name,
> > verbose_flag,
> > verbose_msg);
> >
> > if (result == 0)
> > {
> > if (fp != 0)
> > {
> > int verbose_msg_len =
> > static_cast<int> (ACE_OS::strlen (verbose_msg));
> > //************************************************************
> > **********
> > **
> > // Hofmann-Patch: if Linux and WCHAR, "%ls" is needed
> > //************************************************************
> > **********
> > **
> > #if defined (ACE_WIN32) || !defined (ACE_USES_WCHAR)
> > int fwrite_result = ACE_OS::fprintf (fp,
> >
> > ACE_LIB_TEXT ("%s"),
> >
> verbose_msg); #else
> > int fwrite_result = ACE_OS::fprintf (fp,
> >
> > ACE_LIB_TEXT ("%ls"),
> > verbose_msg);
> > #endif
> > //************************************************************
> > **********
> > **
> > // Hofmann-Patch finished
> > //************************************************************
> > **********
> > **
> > // We should have written everything
> > if (fwrite_result != verbose_msg_len)
> > result = -1;
> > else
> > ACE_OS::fflush (fp);
> > }
> > }
> >
> > delete [] verbose_msg;
> >
> > return result;
> > }
> > else
> > return 0;
> > }
> >
>
>
More information about the Ace-users
mailing list