Mercurial > ecos
diff host/tools/configtool/common/win32/StdAfx.cpp @ 76:435cced73e2f ecos-v1_3_1-release
eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
| author | jlarmour |
|---|---|
| date | Tue, 28 Mar 2000 14:10:45 +0000 |
| parents | |
| children | 74dbf4c3f2e1 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/host/tools/configtool/common/win32/StdAfx.cpp @@ -0,0 +1,65 @@ +//####COPYRIGHTBEGIN#### +// +// ---------------------------------------------------------------------------- +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// +// This program is part of the eCos host tools. +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along with +// this program; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// ---------------------------------------------------------------------------- +// +//####COPYRIGHTEND#### +//#####DESCRIPTIONBEGIN#### +// +// Author(s): sdf +// Contact(s): sdf +// Date: 1998/08/11 +// Version: 0.01 +// Purpose: +// Description: This is the source file that includes just the standard includes +// stdafx.obj will contain the pre-compiled type information +// +// Requires: +// Provides: +// See also: +// Known bugs: +// Usage: +// +//####DESCRIPTIONEND#### +// +//=========================================================================== + +#include "stdafx.h" + +void __Trace(LPCTSTR pszFormat, ...) +{ + va_list args; + va_start(args, pszFormat); + for(int nLength=100;nLength;) { + TCHAR *buf=new TCHAR[1+nLength]; + int n=_vsntprintf(buf, nLength, pszFormat, args); + if(-1==n){ + nLength*=2; // NT behavior + } else if (n<nLength){ + OutputDebugString(buf); + nLength=0; // trigger exit from loop + } else { + nLength=n+1; // UNIX behavior generally, or NT behavior when buffer size exactly matches required length + } + delete [] buf; + } + va_end(args); +}
