mirror of
https://github.com/gnustep/libs-gsweb.git
synced 2025-02-23 11:41:20 +00:00
(GSWHTTPResponse_GetResponse): Move variable declarations to top of block for older compilers. * GSWAdaptors/common/GSWUtil.h (GSWAssert): Ditto. Remove bogus call to GSWLog(). * GSWAdaptors/common/GSWStats.c (GSWStats_formatStats): Remove statement from variable declations for older compilers. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@21020 72102866-910b-0410-8b05-ffd578937521
181 lines
5.5 KiB
C
181 lines
5.5 KiB
C
/* GSWUtil.h - GSWeb: Adaptors: Util
|
|
Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
|
|
|
|
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
|
|
Date: July 1999
|
|
|
|
This file is part of the GNUstep Web Library.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library 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
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with this library; if not, write to the Free
|
|
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#ifndef _GSWUtil_h__
|
|
#define _GSWUtil_h__
|
|
|
|
#ifndef BOOL
|
|
typedef int BOOL;
|
|
#endif
|
|
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#define TRUE (!FALSE)
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if defined(Apache)
|
|
#include "httpd.h"
|
|
#include "http_log.h"
|
|
//#define APLOG_EMERG LOG_EMERG /* system is unusable */
|
|
//#define APLOG_ALERT LOG_ALERT /* action must be taken immediately */
|
|
#define GSW_CRITICAL APLOG_CRIT /* critical conditions */
|
|
#define GSW_ERROR APLOG_ERR /* error conditions */
|
|
#define GSW_WARNING APLOG_WARNING /* warning conditions */
|
|
//#define APLOG_NOTICE LOG_NOTICE /* normal but significant condition */
|
|
#define GSW_INFO APLOG_INFO /* informational */
|
|
#define GSW_DEBUG APLOG_DEBUG /* debug-level messages */
|
|
#else
|
|
#define GSW_DEBUG 0
|
|
#define GSW_INFO 1
|
|
#define GSW_WARNING 2
|
|
#define GSW_ERROR 3
|
|
#define GSW_CRITICAL 4
|
|
#endif
|
|
|
|
|
|
#define max(x, y) ((x) > (y) ? (x) : (y))
|
|
#define min(x, y) ((x) < (y) ? (x) : (y))
|
|
|
|
//====================================================================
|
|
// Time Functions
|
|
|
|
typedef long long GSWTime; // usec since Epoch
|
|
|
|
#define USEC_PER_SEC ((GSWTime)1000000)
|
|
#define GSWTime_makeTimeFromSecAndUSec(sec,usec) ((GSWTime)(sec)*USEC_PER_SEC+(GSWTime)(usec))
|
|
|
|
GSWTime GSWTime_now();
|
|
char* GSWTime_format(char *date_str,GSWTime t); // yyyy/mm/dd hh:mm:ss.msec
|
|
time_t GSWTime_secPart(GSWTime t);
|
|
long GSWTime_usecPart(GSWTime t);
|
|
long GSWTime_msecPart(GSWTime t);
|
|
|
|
#define GSWTime_floatSec(t) ((double)(((double)GSWTime_secPart(t))+((double)GSWTime_usecPart(t))/USEC_PER_SEC))
|
|
|
|
#ifdef Apache
|
|
#define GSWTime_makeFromAPRTime(aprtime) ((GSWTime)(aprtime))
|
|
#endif
|
|
|
|
//====================================================================
|
|
// Asserts
|
|
#define GSWAssert(condition,p_pLogServerData,p_pszFormat, args...); \
|
|
{ if (!(condition)) \
|
|
{ \
|
|
char* format=0; \
|
|
GSWLog(GSW_CRITICAL,p_pLogServerData,"ARGHH"); \
|
|
format=malloc(strlen(p_pszFormat)+strlen(__FILE__)+101); \
|
|
sprintf(format,"In %s (%d): %s",__FILE__,__LINE__,p_pszFormat); \
|
|
free(format); \
|
|
}} while (0);
|
|
|
|
//====================================================================
|
|
// Log Functions
|
|
void GSWLog(int p_iLevel,
|
|
#if defined(Apache)
|
|
server_rec *p_pLogServerData,
|
|
#else
|
|
void *p_pLogServerData,
|
|
#endif
|
|
CONST char *p_pszFormat, ...);
|
|
|
|
#define GSWDebugLog(p_pLogServerData,p_pszFormat, args...); \
|
|
GSWLog(GSW_DEBUG,p_pLogServerData,p_pszFormat, ## args);
|
|
#define GSWDebugLogCond(condition,p_pLogServerData,p_pszFormat, args...); \
|
|
{ if ((condition)) GSWLog(GSW_DEBUG,p_pLogServerData,p_pszFormat, ## args);};
|
|
|
|
void GSWLogSized(int p_iLevel,
|
|
#if defined(Apache)
|
|
server_rec *p_pLogServerData,
|
|
#else
|
|
void *p_pLogServerData,
|
|
#endif
|
|
int p_iBufferSize,
|
|
CONST char *p_pszFormat, ...);
|
|
|
|
void GSWLogIntern(char *file,
|
|
int line,
|
|
char *fn,
|
|
int p_iLevel,
|
|
#if defined(Apache)
|
|
server_rec *p_pLogServerData,
|
|
#else
|
|
void *p_pLogServerData,
|
|
#endif
|
|
CONST char *p_pszFormat, ...);
|
|
|
|
|
|
void GSWLogSizedIntern(char *file,
|
|
int line,
|
|
char *fn,
|
|
int p_iLevel,
|
|
#if defined(Apache)
|
|
server_rec *p_pLogServerData,
|
|
#else
|
|
void *p_pLogServerData,
|
|
#endif
|
|
int p_iBufferSize,
|
|
CONST char *p_pszFormat, ...);
|
|
|
|
//====================================================================
|
|
// Misc String Functions
|
|
|
|
// return new len
|
|
int DeleteTrailingCRNL(char *p_pszString);
|
|
int DeleteTrailingSlash(char *p_pszString);
|
|
int DeleteTrailingSpaces(char *p_pszString);
|
|
|
|
int SafeStrlen(CONST char *p_pszString);
|
|
char *SafeStrdup(CONST char *p_pszString);
|
|
char *strcasestr(CONST char *p_pszString, CONST char *p_pszSearchedString);
|
|
|
|
#ifdef __USE_GNU
|
|
#define gsw_strndup(a,b) strndup((a),(b))
|
|
#else
|
|
extern char* gsw_strndup(const char *s, size_t len);
|
|
#endif
|
|
|
|
//====================================================================
|
|
// Host lookup Functions
|
|
//#include <netdb.h>
|
|
typedef struct hostent *PSTHostent;
|
|
|
|
PSTHostent GSWUtil_HostLookup(CONST char *p_pszHost, void *p_pLogServerData);
|
|
void GSWUtil_ClearHostCache();
|
|
PSTHostent GSWUtil_FindHost(CONST char *p_pszHost, void *p_pLogServerData);
|
|
|
|
//====================================================================
|
|
#include "GSWDict.h"
|
|
|
|
void GSWLog_Init(GSWDict *p_pDict, int p_iLevel);
|
|
|
|
char* RevisionStringToRevisionValue(char* buffer,const char* revisionString);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
#endif // _GSWUtil_h__
|