
Wed Apr 20 14:53:35 1994 Bob Amstadt (bob@pooh) * [tools/build.c] [if1632/call.S] [if1632/Imakefile] Fixed bug for non-Linux systems. Apr 18, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte) * [windows/win.c] Bug fixed in CreateWindowEx() : Now use SetMenu() for menubar setup. New empty stub for function SetSysModalWindow(). * [misc/exec.c] New empty stub for function ExitWindows(). * [objects/font.c] New empty stub for function EnumFonts(). * New file [misc/property.c] New functions RemoveProp(), GetProp(), SetProp() & EnumProps(). * New file [misc/shell.c] New empty stubs for function RegisterShellProc(), ShellExecute() & ShellProc(). * New files [loader/task.c] & [include/task.h] Move functions GetWindowTask(), GetNumTask(), EnumTaskWindows() from 'loader/library.c'. * [if1632/user.c] [if1632/kernel.c] Put Atoms functions entries. * [controls/combo.c] New functions DirDlgSelectComboBox() & DirDlgListComboBox(). * [controls/listbox.c] New functions DirDlgSelect() & DirDlgList(). Sun Apr 17 20:57:59 1994 Erik Bos (erik@trashcan.hacktic.nl) * [objects/test.c] GrayString() added. * [if1632/callback.c] CallGrayStringProc() added. * [if1632/relay.c] [if1632/mmsystem.spec] Added. * [if1632/kernel.spec] [if1632/user.spec] Added forgotten specs for atom functions. Tue Apr 12 00:05:31 1994 Bob Amstadt (bob@pooh) * misc/spy.c (SpyInit): Added more message types * [windows/mdi.c] [include/mdi.h] Maximizing and restoring child windows. Tiling of child windows. Mon Apr 11 20:48:28 1994 Alexandre Julliard (julliard@lamisun.epfl.ch) * [windows/winpos.c] Revert focus and activation to previous window when hiding a window. * [windows/syscolor.c] Implemented system color objects (brushes and pens created at SetSysColor() time for better performance). * [windows/graphics.c] [windows/nonclient.c] [controls/button.c] Changed painting code to use system color objects. * [windows/message.c] New function MSG_InternalGetMessage() for internal messages loops (e.g. for dialogs or menus). * [windows/hook.c] [include/hook.h] (New files) Beginning of the window hooks implementation. * [windows/dialog.c] Use new function MSG_InternalGetMessage() in DialogBox(). * [if1632/callback.c] Added function CallHookProc(). Apr 11, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte) * [windows/event.c] Bug fix : WM_CHARs are sent to focused window like WM_KEY???. * [misc/exec.c] Nothing much more than a stub for LoadModule(), I saw there a lot to be done in that corner, I will come back later ... * [loader/library.c] New functions GetWindowTask(), GetNumTask(), EnumTaskWindows() and associated modules & tasks linked-lists. (it's only an 'emerging bud', more to come next weeks). * [loader/wine.c] Use LoadLibrary() instead of LoadImage() for 'sysres.dll'. * [control/menu.c] You can now click outside menu region without problem. Keyboard navig more smootly, even if a child has the focus. Bug fix in InsertItem(), (bad linklist when insert point not found). change Realloc for Free & Alloc in ModifyItem(). MF_STRING now set BLACK_PEN to fix bug of bad color of the underscores done by DrawText(), (maybe it should done in DrawText() itself ?). Sun Apr 10 14:06:08 1994 Erik Bos (erik@trashcan.hacktic.nl) * [misc/profile.c] .INI files will now be stored in / loaded from the windows dir if no path is supplied. * [if1632/kernel.spec] Fixed GetDriveType's prototype. * [if1632/winsock.spec] [include/winsock.h] [misc/winsocket.c] Fixed prototypes: winsock uses a word as socket handle not an int. * [misc/winsocket.c] Added heap allocation for returned structures. Added non-blocking WSAAsyncGetXbyY() functions as blocking ones. * [loader/wine.c] Added IsDLLLoaded(), used in LoadImage() to prevent loading a dll multiple times. Directory is added to wine's path when a fullpath is supplied when starting wine. LoadImage(): DLL filename used instead DLL's own internal name, fixes 'Bad DLL name' errors. Sat Apr 9 08:26:03 1994 David Metcalfe <david@prism.demon.co.uk> * [controls/edit.c] [controls/widgets.c] First release of edit control.
142 lines
4.3 KiB
C
142 lines
4.3 KiB
C
/* ANSI and traditional C compatability macros
|
|
Copyright 1991, 1992 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
|
|
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., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|
|
|
/* ANSI and traditional C compatibility macros
|
|
|
|
ANSI C is assumed if __STDC__ is #defined.
|
|
|
|
Macro ANSI C definition Traditional C definition
|
|
----- ---- - ---------- ----------- - ----------
|
|
PTR `void *' `char *'
|
|
LONG_DOUBLE `long double' `double'
|
|
VOLATILE `volatile' `'
|
|
SIGNED `signed' `'
|
|
PTRCONST `void *const' `char *'
|
|
ANSI_PROTOTYPES 1 not defined
|
|
|
|
CONST is also defined, but is obsolete. Just use const.
|
|
|
|
DEFUN (name, arglist, args)
|
|
|
|
Defines function NAME.
|
|
|
|
ARGLIST lists the arguments, separated by commas and enclosed in
|
|
parentheses. ARGLIST becomes the argument list in traditional C.
|
|
|
|
ARGS list the arguments with their types. It becomes a prototype in
|
|
ANSI C, and the type declarations in traditional C. Arguments should
|
|
be separated with `AND'. For functions with a variable number of
|
|
arguments, the last thing listed should be `DOTS'.
|
|
|
|
DEFUN_VOID (name)
|
|
|
|
Defines a function NAME, which takes no arguments.
|
|
|
|
obsolete -- EXFUN (name, (prototype)) -- obsolete.
|
|
|
|
Replaced by PARAMS. Do not use; will disappear someday soon.
|
|
Was used in external function declarations.
|
|
In ANSI C it is `NAME PROTOTYPE' (so PROTOTYPE should be enclosed in
|
|
parentheses). In traditional C it is `NAME()'.
|
|
For a function that takes no arguments, PROTOTYPE should be `(void)'.
|
|
|
|
PARAMS ((args))
|
|
|
|
We could use the EXFUN macro to handle prototype declarations, but
|
|
the name is misleading and the result is ugly. So we just define a
|
|
simple macro to handle the parameter lists, as in:
|
|
|
|
static int foo PARAMS ((int, char));
|
|
|
|
This produces: `static int foo();' or `static int foo (int, char);'
|
|
|
|
EXFUN would have done it like this:
|
|
|
|
static int EXFUN (foo, (int, char));
|
|
|
|
but the function is not external...and it's hard to visually parse
|
|
the function name out of the mess. EXFUN should be considered
|
|
obsolete; new code should be written to use PARAMS.
|
|
|
|
For example:
|
|
extern int printf PARAMS ((CONST char *format DOTS));
|
|
int DEFUN(fprintf, (stream, format),
|
|
FILE *stream AND CONST char *format DOTS) { ... }
|
|
void DEFUN_VOID(abort) { ... }
|
|
*/
|
|
|
|
#ifndef _ANSIDECL_H
|
|
|
|
#define _ANSIDECL_H 1
|
|
|
|
|
|
/* Every source file includes this file,
|
|
so they will all get the switch for lint. */
|
|
/* LINTLIBRARY */
|
|
|
|
|
|
#if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4))
|
|
/* All known AIX compilers implement these things (but don't always
|
|
define __STDC__). The RISC/OS MIPS compiler defines these things
|
|
in SVR4 mode, but does not define __STDC__. */
|
|
|
|
#define PTR void *
|
|
#define PTRCONST void *CONST
|
|
#define LONG_DOUBLE long double
|
|
|
|
#define AND ,
|
|
#define NOARGS void
|
|
#define CONST const
|
|
#define VOLATILE volatile
|
|
#define SIGNED signed
|
|
#define DOTS , ...
|
|
|
|
#define EXFUN(name, proto) name proto
|
|
#define DEFUN(name, arglist, args) name(args)
|
|
#define DEFUN_VOID(name) name(void)
|
|
|
|
#define PROTO(type, name, arglist) type name arglist
|
|
#define PARAMS(paramlist) paramlist
|
|
#define ANSI_PROTOTYPES 1
|
|
|
|
#else /* Not ANSI C. */
|
|
|
|
#define PTR char *
|
|
#define PTRCONST PTR
|
|
#define LONG_DOUBLE double
|
|
|
|
#define AND ;
|
|
#define NOARGS
|
|
#define CONST
|
|
#ifndef const /* some systems define it in header files for non-ansi mode */
|
|
#define const
|
|
#endif
|
|
#define VOLATILE
|
|
#define SIGNED
|
|
#define DOTS
|
|
|
|
#define EXFUN(name, proto) name()
|
|
#define DEFUN(name, arglist, args) name arglist args;
|
|
#define DEFUN_VOID(name) name()
|
|
#define PROTO(type, name, arglist) type name ()
|
|
#define PARAMS(paramlist) ()
|
|
|
|
#endif /* ANSI C. */
|
|
|
|
#endif /* ansidecl.h */
|