$Id$
$Log$
- Revision 1.1.1.1.6.1 2001/11/25 23:04:51 short
- * new common/misc.c/
- * g{,v}asprintf() - "asprintf()" compatibility emulation
- * ARRAY_LEN() - sizeof(x)/sizeof(*x)
- * SAFE_STRNCPY{,_SIZEOF}() - strncpy with variable-size autodetection
- * G_GNUC_PRINTF - GCC attribute from glib
- * N_(x) - missing in localization macros
+ Revision 1.1.1.1.6.2 2001/11/27 21:18:41 short
+ Update: orig2001_11_25_22_56 -> orig2001_11_27_05_17
+ Branch merged, dead
- Revision 1.1.1.1 2001/11/25 21:59:04 short
- :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Sun Nov 25 22:56 CET 2001
+ Revision 1.1.1.1.2.1 2001/11/27 04:37:59 short
+ Update: orig2001_11_25_22_56 -> orig2001_11_27_05_17
+
+ Revision 1.1.1.2 2001/11/27 04:19:24 short
+ :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Tue Nov 27 05:17 CET 2001
+
+ Revision 1.20 2001/11/26 18:06:08 pkot
+ Checking for *printf functions, N_(x) for localization, generic ARRAY_LEN, SAFE_STRNCPY, G_GNUC_PRINTF (Jan Kratochvil)
Revision 1.19 2001/11/22 17:56:53 pkot
smslib update. sms sending
if (fgets(Line, count, File)) {
ptr = Line + strlen(Line) - 1;
- while ( (*ptr == '\n' || *ptr == '\r') && ptr>=Line)
- *ptr--='\0';
+ while ( (*ptr == '\n' || *ptr == '\r') && ptr >= Line)
+ *ptr-- = '\0';
return strlen(Line);
}
#ifndef HAVE_VASPRINTF
/* Adapted from snprintf(3) man page: */
-int gvasprintf(char **destp,const char *fmt,va_list ap)
+int gvasprintf(char **destp, const char *fmt, va_list ap)
{
-int n,size=0x100;
-char *p,*pnew;
+ int n, size = 0x100;
+ char *p, *pnew;
- if (!(p=malloc(size))) {
- *destp=NULL;
+ if (!(p = malloc(size))) {
+ *destp = NULL;
return(-1);
- }
+ }
for (;;) {
/* Try to print in the allocated space. */
- n=gvsprintf(p,size,fmt,ap);
+ n = gvsprintf(p, size, fmt, ap);
/* If that worked, return the string. */
- if (n>-1 && n<size) {
- *destp=p;
+ if (n > -1 && n < size) {
+ *destp = p;
return(n);
- }
+ }
/* Else try again with more space. */
- if (n>-1) /* glibc 2.1 */
- size=n+1; /* precisely what is needed */
+ if (n > -1) /* glibc 2.1 */
+ size = n + 1; /* precisely what is needed */
else /* glibc 2.0 */
- size*=2; /* twice the old size */
- if (!(pnew=realloc(p,size))) {
+ size *= 2; /* twice the old size */
+ if (!(pnew = realloc(p, size))) {
free(p);
- *destp=NULL;
+ *destp = NULL;
return(-1);
- }
- p=pnew;
+ }
+ p = pnew;
}
}
#endif
#ifndef HAVE_ASPRINTF
-int gasprintf(char **destp,const char *fmt,...)
+int gasprintf(char **destp, const char *fmt,...)
{
-va_list ap;
-int r;
+ va_list ap;
+ int r;
va_start(ap,fmt);
- r=gvasprintf(destp,fmt,ap);
+ r = gvasprintf(destp, fmt, ap);
va_end(ap);
return(r);
}
Header file for miscellaneous defines, typedefs etc.
$Log$
- Revision 1.1.1.1.6.1 2001/11/25 23:04:51 short
- * new common/misc.c/
- * g{,v}asprintf() - "asprintf()" compatibility emulation
- * ARRAY_LEN() - sizeof(x)/sizeof(*x)
- * SAFE_STRNCPY{,_SIZEOF}() - strncpy with variable-size autodetection
- * G_GNUC_PRINTF - GCC attribute from glib
- * N_(x) - missing in localization macros
+ Revision 1.1.1.1.6.2 2001/11/27 21:18:41 short
+ Update: orig2001_11_25_22_56 -> orig2001_11_27_05_17
+ Branch merged, dead
- Revision 1.1.1.1 2001/11/25 21:59:21 short
- :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Sun Nov 25 22:56 CET 2001
+ Revision 1.1.1.1.2.1 2001/11/27 04:37:59 short
+ Update: orig2001_11_25_22_56 -> orig2001_11_27_05_17
+
+ Revision 1.1.1.2 2001/11/27 04:19:40 short
+ :pserver:cvs@pserver.samba.org:/cvsroot - gnokii - Tue Nov 27 05:17 CET 2001
+
+ Revision 1.27 2001/11/26 18:06:08 pkot
+ Checking for *printf functions, N_(x) for localization, generic ARRAY_LEN, SAFE_STRNCPY, G_GNUC_PRINTF (Jan Kratochvil)
Revision 1.26 2001/11/14 10:46:12 pkot
Small cleanup with __unices__
/* Some general defines. */
#ifndef false
- #define false (0)
+# define false (0)
#endif
#ifndef true
- #define true (!false)
+# define true (!false)
#endif
#ifndef bool
- #define bool int
+# define bool int
#endif
-#define ARRAY_LEN(x) (sizeof((x))/sizeof((x)[0]))
+#define ARRAY_LEN(x) (sizeof((x)) / sizeof((x)[0]))
-#define SAFE_STRNCPY(dest,src,n) do { \
- strncpy((dest),(src),(n)); \
- if ((n)>0) \
- (dest)[(n)-1]='\0'; \
+#define SAFE_STRNCPY(dest, src, n) do { \
+ strncpy((dest), (src), (n)); \
+ if ((n) > 0) \
+ (dest)[(n)-1] = '\0'; \
} while (0)
#define SAFE_STRNCPY_SIZEOF(dest,src) \
- SAFE_STRNCPY((dest),(src),sizeof((dest)))
+ SAFE_STRNCPY((dest), (src), sizeof((dest)))
/* Stolen from <glib.h>: */
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-#define G_GNUC_PRINTF( format_idx, arg_idx ) \
- __attribute__((format (printf, format_idx, arg_idx)))
+# define G_GNUC_PRINTF( format_idx, arg_idx ) \
+ __attribute__((format (printf, format_idx, arg_idx)))
#else /* !__GNUC__ */
-#define G_GNUC_PRINTF( format_idx, arg_idx )
+# define G_GNUC_PRINTF( format_idx, arg_idx )
#endif /* !__GNUC__ */
#define GNOKII_MAX(a, b) (((a) > (b)) ? (a) : (b))
/* A define to make debug printfs neat */
#ifndef DEBUG
-#define dprintf(a...) do { } while (0)
+# define dprintf(a...) do { } while (0)
#else
-#define dprintf(a...) do { fprintf(stderr, a); fflush(stderr); } while (0)
+# define dprintf(a...) do { fprintf(stderr, a); fflush(stderr); } while (0)
#endif
/* Use gsprintf instead of sprintf and sprintf */
#ifdef HAVE_SNPRINTF
-# define gsprintf(a, b, c...) snprintf(a, b, c)
+# define gsprintf(a, b, c...) snprintf(a, b, c)
#else
-# define gsprintf(a, b, c...) sprintf(a, c)
+# define gsprintf(a, b, c...) sprintf(a, c)
#endif
#ifdef HAVE_VSNPRINTF
-# define gvsprintf(a, b, c...) vsnprintf(a, b, c)
+# define gvsprintf(a, b, c...) vsnprintf(a, b, c)
#else
-# define gvsprintf(a, b, c...) vsprintf(a, c)
+# define gvsprintf(a, b, c...) vsprintf(a, c)
#endif
#ifdef HAVE_ASPRINTF
-# define gasprintf(a...) asprintf(a)
+# define gasprintf(a...) asprintf(a)
#else
#include <stdarg.h>
-extern int gasprintf(char **destp,const char *fmt,...);
+extern int gasprintf(char **destp, const char *fmt,...);
#endif
#ifdef HAVE_VASPRINTF
-# define gvasprintf(a...) vasprintf(a)
+# define gvasprintf(a...) vasprintf(a)
#else
#include <stdarg.h>
-extern int gvasprintf(char **destp,const char *fmt,va_list ap);
+extern int gvasprintf(char **destp, const char *fmt, va_list ap);
#endif
/* Get rid of long defines. Use #if __unices__ */
#define __unices__ defined(__svr4__) || defined(__FreeBSD__) || defined(__bsdi__)
#if __unices__
-# include <strings.h>
-# include <sys/file.h>
+# include <strings.h>
+# include <sys/file.h>
#endif
/* This one is for NLS. */
#ifdef USE_NLS
- #include <libintl.h>
- #define _(x) gettext(x)
+# include <libintl.h>
+# define _(x) gettext(x)
+# define N_(x) gettext_noop(x)
#else
- #define _(x) (x)
+# define _(x) (x)
+# define N_(x) (x)
#endif /* USE_NLS */
-#define N_(x) (x)
/* Definitions for u8, u16, u32 and u64, borrowed from
/usr/src/linux/include/asm-i38/types.h */
#ifndef u8
- typedef unsigned char u8;
+ typedef unsigned char u8;
#endif
#ifndef u16
- typedef unsigned short u16;
+ typedef unsigned short u16;
#endif
#ifndef u32
- typedef unsigned int u32;
+ typedef unsigned int u32;
#endif
#ifndef s32
- typedef int s32;
+ typedef int s32;
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
- #ifndef u64
- typedef unsigned long long u64;
- #endif
+# ifndef u64
+ typedef unsigned long long u64;
+# endif
- #ifndef s64
- typedef signed long long s64;
- #endif
+# ifndef s64
+ typedef signed long long s64;
+# endif
#endif
/* This one is for FreeBSD and similar systems without __ptr_t_ */
/* FIXME: autoconf should take care of this. */
-
#ifndef __ptr_t
- typedef void * __ptr_t;
+ typedef void * __ptr_t;
#endif /* __ptr_t */
/* Add here any timer operations which are not supported by libc5 */
#ifndef HAVE_TIMEOPS
-#ifdef WIN32
-
-#include <windows.h>
-#include <sys/timeb.h>
-#define timersub(a, b, result)
- do {
- (result)->tv_sec = (a)->time - (b)->time;
- (result)->tv_usec = ((a)->millitm - (b)->millitm) * 1000;
- if ((result)->tv_usec < 0) {
- --(result)->tv_sec;
- (result)->tv_usec += 1000000;
- }
- } while (0)
-#define gettimeofday(a, b) _ftime(a)
-
-#else
-#include <sys/time.h>
-
-#ifndef timersub
-#define timersub(a, b, result) \
- do { \
- (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
- (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
- if ((result)->tv_usec < 0) { \
- --(result)->tv_sec; \
- (result)->tv_usec += 1000000; \
- } \
- } while (0)
-#endif
+# ifdef WIN32
+
+# include <windows.h>
+# include <sys/timeb.h>
+# define timersub(a, b, result)
+ do {
+ (result)->tv_sec = (a)->time - (b)->time;
+ (result)->tv_usec = ((a)->millitm - (b)->millitm) * 1000;
+ if ((result)->tv_usec < 0) {
+ --(result)->tv_sec;
+ (result)->tv_usec += 1000000;
+ }
+ } while (0)
+# define gettimeofday(a, b) _ftime(a)
+
+# else /* !WIN32 */
+# include <sys/time.h>
+
+# ifndef timersub
+# define timersub(a, b, result) \
+ do { \
+ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
+ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
+ if ((result)->tv_usec < 0) { \
+ --(result)->tv_sec; \
+ (result)->tv_usec += 1000000; \
+ } \
+ } while (0)
+# endif /* timersub */
-#endif /* WIN32 */
+# endif /* WIN32 */
#endif /* HAVE_TIMEOPS */
/* For models table */
typedef struct {
- char *model;
- char *number;
- int flags;
+ char *model;
+ char *number;
+ int flags;
} PhoneModel;
#define PM_CALLERGROUP 0x0001