mirror of
https://github.com/samba-team/samba.git
synced 2025-01-01 21:18:10 +03:00
6d66fb308a
This patch makes Samba compile cleanly with -Wwrite-strings.
- That is, all string literals are marked as 'const'. These strings are
always read only, this just marks them as such for passing to other functions.
What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables). The rest
is just adding a lot of 'const'.
As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).
Andrew Bartlett
(This used to be commit 92a777d0ea
)
539 lines
14 KiB
C
539 lines
14 KiB
C
/*
|
|
Unix SMB/CIFS implementation.
|
|
Build Options for Samba Suite
|
|
Copyright (C) Vance Lankhaar <vlankhaar@hotmail.com> 2001
|
|
Copyright (C) Andrew Bartlett <abartlet@samba.org> 2001
|
|
|
|
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.
|
|
*/
|
|
|
|
#include "includes.h"
|
|
#include "build_env.h"
|
|
#include "dynconfig.h"
|
|
|
|
static void output(BOOL screen, const char *format, ...) PRINTF_ATTRIBUTE(2,3);
|
|
|
|
/*
|
|
#define OUTPUT(x) snprintf(outstring,sizeof(outstring),x); output(screen,outstring);
|
|
*/
|
|
/****************************************************************************
|
|
helper function for build_options
|
|
****************************************************************************/
|
|
static void output(BOOL screen, const char *format, ...)
|
|
{
|
|
char *ptr;
|
|
va_list ap;
|
|
|
|
va_start(ap, format);
|
|
vasprintf(&ptr,format,ap);
|
|
va_end(ap);
|
|
|
|
if (screen) {
|
|
d_printf("%s", ptr);
|
|
} else {
|
|
DEBUG(4,("%s", ptr));
|
|
}
|
|
|
|
SAFE_FREE(ptr);
|
|
}
|
|
|
|
/****************************************************************************
|
|
options set at build time for the samba suite
|
|
****************************************************************************/
|
|
void build_options(BOOL screen)
|
|
{
|
|
if ((DEBUGLEVEL < 4) && (!screen)) {
|
|
return;
|
|
}
|
|
|
|
#ifdef _BUILD_ENV_H
|
|
/* Output information about the build environment */
|
|
output(screen,"Build environment:\n");
|
|
output(screen," Built by: %s@%s\n",BUILD_ENV_USER,BUILD_ENV_HOST);
|
|
output(screen," Built on: %s\n",BUILD_ENV_DATE);
|
|
|
|
output(screen," Built using: %s\n",BUILD_ENV_COMPILER);
|
|
output(screen," Build host: %s\n",BUILD_ENV_UNAME);
|
|
output(screen," SRCDIR: %s\n",BUILD_ENV_SRCDIR);
|
|
output(screen," BUILDDIR: %s\n",BUILD_ENV_BUILDDIR);
|
|
|
|
|
|
#endif
|
|
|
|
/* Output various options (most correspond to --with options) */
|
|
output(screen,"\nBuild options:\n");
|
|
#ifdef WITH_SMBWRAPPER
|
|
output(screen," WITH_SMBWRAPPER\n");
|
|
#endif
|
|
#ifdef WITH_AFS
|
|
output(screen," WITH_AFS\n");
|
|
#endif
|
|
#ifdef WITH_DFS
|
|
output(screen," WITH_DFS\n");
|
|
#endif
|
|
#ifdef KRB4_AUTH
|
|
output(screen," KRB4_AUTH");
|
|
#endif
|
|
#ifdef HAVE_KRB5
|
|
output(screen," HAVE_KRB5");
|
|
#endif
|
|
#ifdef HAVE_GSSAPI
|
|
output(screen," HAVE_GSSAPI");
|
|
#endif
|
|
#ifdef HAVE_LDAP
|
|
output(screen," HAVE_LDAP");
|
|
#endif
|
|
#ifdef WITH_AUTOMOUNT
|
|
output(screen," WITH_AUTOMOUNT\n");
|
|
#endif
|
|
#ifdef WITH_SMBMOUNT
|
|
output(screen," WITH_SMBMOUNT\n");
|
|
#endif
|
|
#ifdef WITH_PAM
|
|
output(screen," WITH_PAM\n");
|
|
#endif
|
|
#ifdef WITH_TDB_SAM
|
|
output(screen," WITH_TDB_SAM\n");
|
|
#endif
|
|
#ifdef WITH_SMBPASSWD_SAM
|
|
output(screen," WITH_SMBPASSWD_SAM\n");
|
|
#endif
|
|
#ifdef WITH_NISPLUS_SAM
|
|
output(screen," WITH_NISPLUS_SAM\n");
|
|
#endif
|
|
#ifdef WITH_NISPLUS_HOME
|
|
output(screen," WITH_NISPLUS_HOME\n");
|
|
#endif
|
|
#ifdef WITH_SYSLOG
|
|
output(screen," WITH_SYSLOG\n");
|
|
#endif
|
|
#ifdef WITH_PROFILE
|
|
output(screen," WITH_PROFILE\n");
|
|
#endif
|
|
#ifdef WITH_QUOTAS
|
|
output(screen," WITH_QUOTAS\n");
|
|
#endif
|
|
#ifdef WITH_VFS
|
|
output(screen," WITH_VFS\n");
|
|
#endif
|
|
#ifdef USE_SPINLOCKS
|
|
output(screen," USE_SPINLOCKS\n");
|
|
#endif
|
|
#ifdef SPARC_SPINLOCKS
|
|
output(screen," SPARC_SPINLOCKS\n");
|
|
#endif
|
|
#ifdef INTEL_SPINLOCKS
|
|
output(screen," INTEL_SPINLOCKS\n");
|
|
#endif
|
|
#ifdef MIPS_SPINLOCKS
|
|
output(screen," MIPS_SPINLOCKS\n");
|
|
#endif
|
|
#ifdef POWERPC_SPINLOCKS
|
|
output(screen," POWERPC_SPINLOCKS\n");
|
|
#endif
|
|
#ifdef HAVE_UNIXWARE_ACLS
|
|
output(screen," HAVE_UNIXWARE_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_SOLARIS_ACLS
|
|
output(screen," HAVE_SOLARIS_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_IRIX_ACLS
|
|
output(screen," HAVE_IRIX_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_AIX_ACLS
|
|
output(screen," HAVE_AIX_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_POSIX_ACLS
|
|
output(screen," HAVE_POSIX_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_TRU64_ACLS
|
|
output(screen," HAVE_TRU64_ACLS\n");
|
|
#endif
|
|
|
|
#ifdef HAVE_ACL_GET_PERM_NP
|
|
output(screen," HAVE_ACL_GET_PERM_NP\n");
|
|
#endif
|
|
#ifdef HAVE_NO_ACLS
|
|
output(screen," HAVE_NO_ACLS\n");
|
|
#endif
|
|
#ifdef HAVE_LIBREADLINE
|
|
output(screen," HAVE_LIBREADLINE\n");
|
|
#endif
|
|
#ifdef WITH_LIBICONV
|
|
output(screen," WITH_LIBICONV: %s\n",WITH_LIBICONV);
|
|
#endif
|
|
|
|
|
|
/* Output various paths to files and directories */
|
|
output(screen,"\nPaths:\n");
|
|
output(screen," CONFIGFILE: %s\n", dyn_CONFIGFILE);
|
|
#ifdef PRIVATE_DIR
|
|
output(screen," PRIVATE_DIR: %s\n",PRIVATE_DIR);
|
|
#endif
|
|
#ifdef LMHOSTSFILE
|
|
output(screen," LMHOSTSFILE: %s\n",LMHOSTSFILE);
|
|
#endif
|
|
output(screen," SBINDIR: %s\n", dyn_SBINDIR);
|
|
output(screen," BINDIR: %s\n", dyn_BINDIR);
|
|
output(screen," LOCKDIR: %s\n",dyn_LOCKDIR);
|
|
output(screen," LOGFILEBASE: %s\n", dyn_LOGFILEBASE);
|
|
|
|
/*Output various other options (most map to defines in the configure script*/
|
|
output(screen,"\nOther Build Options:\n");
|
|
#ifdef HAVE_VOLATILE
|
|
output(screen," HAVE_VOLATILE\n");
|
|
#endif
|
|
#ifdef HAVE_SHADOW_H
|
|
output(screen," HAVE_SHADOW_H\n");
|
|
#endif
|
|
#ifdef HAVE_CRYPT
|
|
output(screen," HAVE_CRYPT\n");
|
|
#endif
|
|
#ifdef USE_BOTH_CRYPT_CALLS
|
|
output(screen," USE_BOTH_CRYPT_CALLS\n");
|
|
#endif
|
|
#ifdef HAVE_TRUNCATED_SALT
|
|
output(screen," HAVE_TRUNCATED_SALT\n");
|
|
#endif
|
|
#ifdef HAVE_CUPS
|
|
output(screen," HAVE_CUPS\n");
|
|
#endif
|
|
#ifdef HAVE_CUPS_CUPS_H
|
|
output(screen," HAVE_CUPS_CUPS_H\n");
|
|
#endif
|
|
#ifdef HAVE_CUPS_LANGUAGE_H
|
|
output(screen," HAVE_CUPS_LANGUAGE_H\n");
|
|
#endif
|
|
#ifdef HAVE_DLOPEN
|
|
output(screen," HAVE_DLOPEN\n");
|
|
#endif
|
|
#ifdef HAVE_DLCLOSE
|
|
output(screen," HAVE_DLCLOSE\n");
|
|
#endif
|
|
#ifdef HAVE_DLSYM
|
|
output(screen," HAVE_DLSYM\n");
|
|
#endif
|
|
#ifdef HAVE_DLERROR
|
|
output(screen," HAVE_DLERROR\n");
|
|
#endif
|
|
#ifdef HAVE_UNIXSOCKET
|
|
output(screen," HAVE_UNIXSOCKET\n");
|
|
#endif
|
|
#ifdef HAVE_SOCKLEN_T_TYPE
|
|
output(screen," HAVE_SOCKLEN_T_TYPE\n");
|
|
#endif
|
|
#ifdef HAVE_SIG_ATOMIC_T_TYPE
|
|
output(screen," HAVE_SIG_ATOMIC_T_TYPE\n");
|
|
#endif
|
|
#ifdef HAVE_SETRESUID
|
|
output(screen," HAVE_SETRESUID\n");
|
|
#endif
|
|
#ifdef HAVE_SETRESGID
|
|
output(screen," HAVE_SETRESGID\n");
|
|
#endif
|
|
#ifdef HAVE_CONNECT
|
|
output(screen," HAVE_CONNECT\n");
|
|
#endif
|
|
#ifdef HAVE_YP_GET_DEFAULT_DOMAIN
|
|
output(screen," HAVE_YP_GET_DEFAULT_DOMAIN\n");
|
|
#endif
|
|
#ifdef HAVE_STAT64
|
|
output(screen," HAVE_STAT64\n");
|
|
#endif
|
|
#ifdef HAVE_LSTAT64
|
|
output(screen," HAVE_LSTAT64\n");
|
|
#endif
|
|
#ifdef HAVE_FSTAT64
|
|
output(screen," HAVE_FSTAT64\n");
|
|
#endif
|
|
#ifdef HAVE_STRCASECMP
|
|
output(screen," HAVE_STRCASECMP\n");
|
|
#endif
|
|
#ifdef HAVE_MEMSET
|
|
output(screen," HAVE_MEMSET\n");
|
|
#endif
|
|
#ifdef HAVE_LONGLONG
|
|
output(screen," HAVE_LONGLONG\n");
|
|
#endif
|
|
#ifdef COMPILER_SUPPORTS_LL
|
|
output(screen," COMPILER_SUPPORTS_LL\n");
|
|
#endif
|
|
#ifdef SIZEOF_OFF_T
|
|
output(screen," SIZEOF_OFF_T: %d\n",SIZEOF_OFF_T);
|
|
#endif
|
|
#ifdef HAVE_OFF64_T
|
|
output(screen," HAVE_OFF64_T\n");
|
|
#endif
|
|
#ifdef SIZEOF_INO_T
|
|
output(screen," SIZEOF_INO_T: %d\n",SIZEOF_INO_T);
|
|
#endif
|
|
#ifdef HAVE_INO64_T
|
|
output(screen," HAVE_INO64_T\n");
|
|
#endif
|
|
#ifdef HAVE_STRUCT_DIRENT64
|
|
output(screen," HAVE_STRUCT_DIRENT64\n");
|
|
#endif
|
|
#ifdef HAVE_UNSIGNED_CHAR
|
|
output(screen," HAVE_UNSIGNED_CHAR\n");
|
|
#endif
|
|
#ifdef HAVE_SOCK_SIN_LEN
|
|
output(screen," HAVE_SOCK_SIN_LEN\n");
|
|
#endif
|
|
#ifdef SEEKDIR_RETURNS_VOID
|
|
output(screen," SEEKDIR_RETURNS_VOID\n");
|
|
#endif
|
|
#ifdef HAVE_FUNCTION_MACRO
|
|
output(screen," HAVE_FUNCTION_MACRO\n");
|
|
#endif
|
|
#ifdef HAVE_GETTIMEOFDAY
|
|
output(screen," HAVE_GETTIMEOFDAY\n");
|
|
#endif
|
|
#ifdef HAVE_C99_VSNPRINTF
|
|
output(screen," HAVE_C99_VSNPRINTF\n");
|
|
#endif
|
|
#ifdef HAVE_BROKEN_READDIR
|
|
output(screen," HAVE_BROKEN_READDIR\n");
|
|
#endif
|
|
#ifdef HAVE_NATIVE_ICONV
|
|
output(screen," HAVE_NATIVE_ICONV\n");
|
|
#endif
|
|
#ifdef HAVE_KERNEL_OPLOCKS_LINUX
|
|
output(screen," HAVE_KERNEL_OPLOCKS_LINUX\n");
|
|
#endif
|
|
#ifdef HAVE_KERNEL_CHANGE_NOTIFY
|
|
output(screen," HAVE_KERNEL_CHANGE_NOTIFY\n");
|
|
#endif
|
|
#ifdef HAVE_KERNEL_SHARE_MODES
|
|
output(screen," HAVE_KERNEL_SHARE_MODES\n");
|
|
#endif
|
|
#ifdef HAVE_KERNEL_OPLOCKS_IRIX
|
|
output(screen," HAVE_KERNEL_OPLOCKS_IRIX\n");
|
|
#endif
|
|
#ifdef HAVE_IRIX_SPECIFIC_CAPABILITIES
|
|
output(screen," HAVE_IRIX_SPECIFIC_CAPABILITIES\n");
|
|
#endif
|
|
#ifdef HAVE_INT16_FROM_RPC_RPC_H
|
|
output(screen," HAVE_INT16_FROM_RPC_RPC_H\n");
|
|
#endif
|
|
#ifdef HAVE_UINT16_FROM_RPC_RPC_H
|
|
output(screen," HAVE_UINT16_FROM_RPC_RPC_H\n");
|
|
#endif
|
|
#ifdef HAVE_INT32_FROM_RPC_RPC_H
|
|
output(screen," HAVE_INT16_FROM_RPC_RPC_H\n");
|
|
#endif
|
|
#ifdef HAVE_UINT32_FROM_RPC_RPC_H
|
|
output(screen," HAVE_UINT32_FROM_RPC_RPC_H\n");
|
|
#endif
|
|
#ifdef HAVE_RPC_AUTH_ERROR_CONFLICT
|
|
output(screen," HAVE_RPC_AUTH_ERROR_CONFLICT\n");
|
|
#endif
|
|
#ifdef HAVE_FTRUNCATE_EXTEND
|
|
output(screen," HAVE_FTRUNCATE_EXTEND\n");
|
|
#endif
|
|
#ifdef HAVE_WORKING_AF_LOCAL
|
|
output(screen," HAVE_WORKING_AF_LOCAL\n");
|
|
#endif
|
|
#ifdef HAVE_BROKEN_GETGROUPS
|
|
output(screen," HAVE_BROKEN_GETGROUPS\n");
|
|
#endif
|
|
#ifdef REPLACE_GETPASS
|
|
output(screen," REPLACE_GETPASS\n");
|
|
#endif
|
|
#ifdef REPLACE_INET_NTOA
|
|
output(screen," REPLACE_INET_NTOA\n");
|
|
#endif
|
|
#ifdef HAVE_SECURE_MKSTEMP
|
|
output(screen," HAVE_SECURE_MKSTEMP\n");
|
|
#endif
|
|
#ifdef SYSCONF_SC_NGROUPS_MAX
|
|
output(screen," SYSCONF_SC_NGROUPS_MAX\n");
|
|
#endif
|
|
#ifdef HAVE_IFACE_AIX
|
|
output(screen," HAVE_IFACE_AIX\n");
|
|
#endif
|
|
#ifdef HAVE_IFACE_IFCONF
|
|
output(screen," HAVE_IFACE_IFCONF\n");
|
|
#endif
|
|
#ifdef HAVE_IFACE_IFREQ
|
|
output(screen," HAVE_IFACE_IFREQ\n");
|
|
#endif
|
|
#ifdef USE_SETRESUID
|
|
output(screen," USE_SETRESUID\n");
|
|
#endif
|
|
#ifdef USE_SETRESGID
|
|
output(screen," USE_SETREUID\n");
|
|
#endif
|
|
#ifdef USE_SETEUID
|
|
output(screen," USE_SETEUID\n");
|
|
#endif
|
|
#ifdef USE_SETUIDX
|
|
output(screen," USE_SETUIDX\n");
|
|
#endif
|
|
#ifdef HAVE_MMAP
|
|
output(screen," HAVE_MMAP\n");
|
|
#endif
|
|
#ifdef MMAP_BLACKLIST
|
|
output(screen," MMAP_BLACKLIST\n");
|
|
#endif
|
|
#ifdef FTRUNCATE_NEEDS_ROOT
|
|
output(screen," FTRUNCATE_NEEDS_ROOT\n");
|
|
#endif
|
|
#ifdef HAVE_FCNTL_LOCK
|
|
output(screen," HAVE_FCNTL_LOCK\n");
|
|
#endif
|
|
#ifdef HAVE_BROKEN_FCNTL64_LOCKS
|
|
output(screen," HAVE_BROKEN_FCNTL64_LOCKS\n");
|
|
#endif
|
|
#ifdef HAVE_STRUCT_FLOCK64
|
|
output(screen," HAVE_STRUCT_FLOCK64\n");
|
|
#endif
|
|
#ifdef BROKEN_NISPLUS_INCLUDE_FILES
|
|
output(screen," BROKEN_NISPLUS_INCLUDE_FILES\n");
|
|
#endif
|
|
#ifdef HAVE_LIBPAM
|
|
output(screen," HAVE_LIBPAM\n");
|
|
#endif
|
|
#ifdef STAT_STATVFS64
|
|
output(screen," STAT_STATVFS64\n");
|
|
#endif
|
|
#ifdef STAT_STATVFS
|
|
output(screen," STAT_STATVFS\n");
|
|
#endif
|
|
#ifdef STAT_STATFS3_OSF1
|
|
output(screen," STAT_STATFS3_OSF1\n");
|
|
#endif
|
|
#ifdef STAT_STATFS2_BSIZE
|
|
output(screen," STAT_STATFS2_BSIZE\n");
|
|
#endif
|
|
#ifdef STAT_STATFS4
|
|
output(screen," STAT_STATFS4\n");
|
|
#endif
|
|
#ifdef STAT_STATFS2_FSIZE
|
|
output(screen," STAT_STATFS2_FSIZE\n");
|
|
#endif
|
|
#ifdef STAT_STATFS2_FS_DATA
|
|
output(screen," STAT_STATFS2_FS_DATA\n");
|
|
#endif
|
|
#ifdef HAVE_EXPLICIT_LARGEFILE_SUPPORT
|
|
output(screen," HAVE_EXPLICIT_LARGEFILE_SUPPORT\n");
|
|
#endif
|
|
|
|
#ifdef WITH_UTMP
|
|
/* Output UTMP Stuff */
|
|
output(screen,"\nUTMP Related:\n");
|
|
output(screen," WITH_UTMP\n");
|
|
|
|
#ifdef HAVE_UTIMBUF
|
|
output(screen," HAVE_UTIMBUF\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_NAME
|
|
output(screen," HAVE_UT_UT_NAME\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_USER
|
|
output(screen," HAVE_UT_UT_USER\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_ID
|
|
output(screen," HAVE_UT_UT_ID\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_HOST
|
|
output(screen," HAVE_UT_UT_HOST\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_TIME
|
|
output(screen," HAVE_UT_UT_TIME\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_TV
|
|
output(screen," HAVE_UT_UT_TV\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_TYPE
|
|
output(screen," HAVE_UT_UT_TYPE\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_PID
|
|
output(screen," HAVE_UT_UT_PID\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_EXIT
|
|
output(screen," HAVE_UT_UT_EXIT\n");
|
|
#endif
|
|
#ifdef HAVE_UT_UT_ADDR
|
|
output(screen," HAVE_UT_UT_ADDR\n");
|
|
#endif
|
|
#ifdef PUTUTLINE_RETURNS_UTMP
|
|
output(screen," PUTUTLINE_RETURNS_UTMP\n");
|
|
#endif
|
|
#ifdef HAVE_UX_UT_SYSLEN
|
|
output(screen," HAVE_UX_UT_SYSLEN\n");
|
|
#endif
|
|
#endif /* WITH_UTMP */
|
|
|
|
/* Output Build OS */
|
|
output(screen,"\nBuilt for host os:\n");
|
|
#ifdef LINUX
|
|
output(screen," LINUX\n");
|
|
#endif
|
|
#ifdef SUNOS5
|
|
output(screen," SUNOS5\n");
|
|
#endif
|
|
#ifdef SUNOS4
|
|
output(screen," SUNOS4\n");
|
|
#endif
|
|
/* BSD Isn't Defined in the configure script, but there is something about it in include/config.h.in (and I guess acconfig.h) */
|
|
#ifdef BSD
|
|
output(screen," BSD\n");
|
|
#endif
|
|
#ifdef IRIX
|
|
output(screen," IRIX\n");
|
|
#endif
|
|
#ifdef IRIX6
|
|
output(screen," IRIX6\n");
|
|
#endif
|
|
#ifdef AIX
|
|
output(screen," AIX\n");
|
|
#endif
|
|
#ifdef HPUX
|
|
output(screen," HPUX\n");
|
|
#endif
|
|
#ifdef QNX
|
|
output(screen," QNX\n");
|
|
#endif
|
|
#ifdef OSF1
|
|
output(screen," OSF1\n");
|
|
#endif
|
|
#ifdef SCO
|
|
output(screen," SCO\n");
|
|
#endif
|
|
#ifdef UNIXWARE
|
|
output(screen," UNIXWARE\n");
|
|
#endif
|
|
#ifdef NEXT2
|
|
output(screen," NEXT2\n");
|
|
#endif
|
|
#ifdef RELIANTUNIX
|
|
output(screen," RELIANTUNIX\n");
|
|
#endif
|
|
|
|
/* Output the sizes of the various types */
|
|
output(screen,"\nType sizes:\n");
|
|
output(screen," sizeof(char): %d\n",sizeof(char));
|
|
output(screen," sizeof(int): %d\n",sizeof(int));
|
|
output(screen," sizeof(long): %d\n",sizeof(long));
|
|
output(screen," sizeof(uint8): %d\n",sizeof(uint8));
|
|
output(screen," sizeof(uint16): %d\n",sizeof(uint16));
|
|
output(screen," sizeof(uint32): %d\n",sizeof(uint32));
|
|
output(screen," sizeof(short): %d\n",sizeof(short));
|
|
output(screen," sizeof(void*): %d\n",sizeof(void*));
|
|
}
|
|
|
|
|
|
|