summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXavier Roche <xroche@users.noreply.github.com>2013-05-14 20:22:32 +0000
committerXavier Roche <xroche@users.noreply.github.com>2013-05-14 20:22:32 +0000
commit06d7e5bb20ce41e41f1d9f1633cc67a6b30f4a2c (patch)
tree38c29d82a0ac6a2deb7854f2e179987dbe37ee4a /src
parent2bc35e7ee9c39c01cf39f78933a6e42114a3f50d (diff)
Fixed proxytrack ugly logging.
Diffstat (limited to 'src')
-rw-r--r--src/proxy/proxytrack.c14
-rw-r--r--src/proxy/proxytrack.h54
-rw-r--r--src/proxy/store.c18
3 files changed, 35 insertions, 51 deletions
diff --git a/src/proxy/proxytrack.c b/src/proxy/proxytrack.c
index 02c18d0..ded2e13 100644
--- a/src/proxy/proxytrack.c
+++ b/src/proxy/proxytrack.c
@@ -277,7 +277,7 @@ static String getip(SOCaddr *server, int serverLen) {
char * dotted = malloc(sizeMax + 1);
unsigned short port = ntohs(SOCaddr_sinport(*server));
if (dotted == NULL) {
- CRITICAL("memory exhausted");
+ proxytrack_print_log(CRITICAL, "memory exhausted");
return s;
}
SOCaddr_inetntoa(dotted, sizeMax, *server, serverLen);
@@ -824,7 +824,7 @@ static void proxytrack_process_HTTP(PT_Indexes indexes, T_SOC soc_c) {
#endif
if (buffer == NULL || line == NULL || line1 == NULL) {
- CRITICAL("proxytrack_process_HTTP:memory exhausted");
+ proxytrack_print_log(CRITICAL, "proxytrack_process_HTTP:memory exhausted");
#ifdef _WIN32
closesocket(soc_c);
#else
@@ -1247,7 +1247,7 @@ static void proxytrack_process_HTTP(PT_Indexes indexes, T_SOC soc_c) {
if (element != NULL && element->contenttype[0] != '\0') {
contentType = element->contenttype;
}
- LOG("HTTP %s %d %d %s %s %s" _ StringBuff(ip) _ msgCode _ (int)size _ command _ StringBuff(url) _ contentType);
+ proxytrack_print_log(LOG, "HTTP %s %d %d %s %s %s", StringBuff(ip), msgCode, (int)size, command, StringBuff(url), contentType);
StringFree(ip);
}
@@ -1357,7 +1357,7 @@ static int proxytrack_process_generic(void (*process)(PT_Indexes indexes, T_SOC
param->process = process;
return startThread(proxytrack_process_th, param);
} else {
- CRITICAL("proxytrack_process_generic:Memory exhausted");
+ proxytrack_print_log(CRITICAL, "proxytrack_process_generic:Memory exhausted");
return 0;
}
return 0;
@@ -1374,7 +1374,7 @@ static int proxytrack_start_HTTP(PT_Indexes indexes, T_SOC soc) {
T_SOC soc_c;
if ( (soc_c = (T_SOC) accept(soc, NULL, NULL)) != INVALID_SOCKET) {
if (!proxytrack_process_HTTP_threaded(indexes, soc_c)) {
- CRITICAL("proxytrack_start_HTTP::Can not fork a thread");
+ proxytrack_print_log(CRITICAL, "proxytrack_start_HTTP::Can not fork a thread");
}
}
}
@@ -1449,7 +1449,7 @@ static int proxytrack_start_ICP(PT_Indexes indexes, T_SOC soc) {
int bufferSize = 16384;
unsigned char * buffer = (unsigned char*) malloc(bufferSize + 1);
if (buffer == NULL) {
- CRITICAL("proxytrack_start_ICP:memory exhausted");
+ proxytrack_print_log(CRITICAL, "proxytrack_start_ICP:memory exhausted");
#ifdef _WIN32
closesocket(soc);
#else
@@ -1561,7 +1561,7 @@ static int proxytrack_start_ICP(PT_Indexes indexes, T_SOC soc) {
} else {
StringCopy(ip, "unknown");
}
- LOG("ICP %s %s/%s %s" _ StringBuff(ip) _ LogRequest _ LogReply _ (UrlRequest ? UrlRequest : "-") );
+ proxytrack_print_log(LOG, "ICP %s %s/%s %s", StringBuff(ip), LogRequest, LogReply, (UrlRequest ? UrlRequest : "-") );
StringFree(ip);
}
diff --git a/src/proxy/proxytrack.h b/src/proxy/proxytrack.h
index 02521f0..1825533 100644
--- a/src/proxy/proxytrack.h
+++ b/src/proxy/proxytrack.h
@@ -65,44 +65,28 @@ int proxytrack_main(char* proxyAddr, int proxyPort,
/* Static definitions */
-#define _ ,
-#define CRITICAL_(msg, file, line) do { \
- fprintf(stderr, "* critical: "); \
- fprintf(stderr, msg); \
- fprintf(stderr, " at %s:%d\n", file, line); \
- fflush(stderr); \
-} while(0)
-#define CRITICAL(msg) do { \
- fprintf(stderr, "* critical: "); \
- fprintf(stderr, msg); \
- fprintf(stderr, " at %s:%d\n", __FILE__, __LINE__); \
- fflush(stderr); \
-} while(0)
-
-#define WARNING(msg) do { \
- fprintf(stderr, "* warning: "); \
- fprintf(stderr, msg); \
- fprintf(stderr, "\n"); \
- fflush(stderr); \
-} while(0)
-
-#define LOG(msg) do { \
- fprintf(stderr, "* log: "); \
- fprintf(stderr, msg); \
- fprintf(stderr, "\n"); \
- fflush(stderr); \
-} while(0)
+static void proxytrack_print_log(const char *severity, const char *format, ...) {
+ if (severity != NULL) {
+ const int error = errno;
+ FILE *const fp = stderr;
+ va_list args;
+ fprintf(fp, " * %s: ", severity);
+ va_start(args, format);
+ (void) vfprintf(fp, format, args);
+ va_end(args);
+ fputs("\n", fp);
+ fflush(fp);
+ errno = error;
+ }
+}
+#define CRITICAL "critical"
+#define WARNING "warning"
+#define LOG "log"
#if defined(_DEBUG) || defined(DEBUG)
-#define DEBUG(msg) do { \
- fprintf(stderr, "* debug: "); \
- fprintf(stderr, msg); \
- fprintf(stderr, "\n"); \
- fflush(stderr); \
-} while(0)
+#define DEBUG "debug"
#else
-#define DEBUG_(msg, file, line) do { } while(0)
-#define DEBUG(msg) do { } while(0)
+#define DEBUG NULL
#endif
/* Header for generated pages */
diff --git a/src/proxy/store.c b/src/proxy/store.c
index 810fb29..e5d0c8f 100644
--- a/src/proxy/store.c
+++ b/src/proxy/store.c
@@ -281,7 +281,7 @@ static int PT_Index_Check__(PT_Index index, const char* file, int line) {
return 0;
if (index->type >= PT_CACHE_MIN && index->type <= PT_CACHE_MAX)
return 1;
- CRITICAL_("index corrupted in memory", file, line);
+ proxytrack_print_log(CRITICAL, "index corrupted in memory at %s:%d", file, line);
return 0;
}
#define SAFE_INDEX(index) PT_Index_Check__(index, __FILE__, __LINE__)
@@ -458,7 +458,7 @@ char ** PT_Enumerate(PT_Indexes indexes, const char *url, int subtree) {
}
}
} else {
- CRITICAL("PT_Enumerate:Corrupted central index locator");
+ proxytrack_print_log(CRITICAL, "PT_Enumerate:Corrupted central index locator");
}
}
}
@@ -527,12 +527,12 @@ PT_Index PT_LoadCache(const char *filename) {
index->slots.common.startUrl[0] = '\0';
index->slots.common.hash = inthash_new(8191);
if (!_IndexFuncts[type].PT_LoadCache(index, filename)) {
- DEBUG("reading httrack cache (format #%d) %s : error" _ type _ filename );
+ proxytrack_print_log(DEBUG, "reading httrack cache (format #%d) %s : error", type, filename );
free(index);
index = NULL;
return NULL;
} else {
- DEBUG("reading httrack cache (format #%d) %s : success" _ type _ filename );
+ proxytrack_print_log(DEBUG, "reading httrack cache (format #%d) %s : success", type, filename );
}
/* default starting URL is the first hash entry */
if (index->slots.common.startUrl[0] == '\0') {
@@ -603,7 +603,7 @@ int PT_EnumCache(PT_Indexes indexes, int (*callback)(void *, const char *url, PT
return ret;
}
} else {
- CRITICAL("PT_ReadCache:Corrupted central index locator");
+ proxytrack_print_log(CRITICAL, "PT_ReadCache:Corrupted central index locator");
return -1;
}
}
@@ -662,7 +662,7 @@ int PT_IndexMerge(PT_Indexes indexes, PT_Index *pindex)
if (indexes->index[previous_index_id]->slots.common.timestamp > index->slots.common.timestamp) // existing entry is newer
break;
} else {
- CRITICAL("PT_IndexMerge:Corrupted central index locator");
+ proxytrack_print_log(CRITICAL, "PT_IndexMerge:Corrupted central index locator");
}
}
inthash_write(indexes->cil, chain->name, index_id);
@@ -670,7 +670,7 @@ int PT_IndexMerge(PT_Indexes indexes, PT_Index *pindex)
}
}
} else {
- CRITICAL("PT_IndexMerge:Memory exhausted");
+ proxytrack_print_log(CRITICAL, "PT_IndexMerge:Memory exhausted");
}
return nMerged;
}
@@ -714,7 +714,7 @@ PT_Element PT_ReadIndex(PT_Indexes indexes, const char* url, int flags)
return item;
}
} else {
- CRITICAL("PT_ReadCache:Corrupted central index locator");
+ proxytrack_print_log(CRITICAL, "PT_ReadCache:Corrupted central index locator");
}
}
}
@@ -731,7 +731,7 @@ int PT_LookupIndex(PT_Indexes indexes, const char* url) {
if (index_id >= 0 && index_id <= indexes->index_size) {
return 1;
} else {
- CRITICAL("PT_ReadCache:Corrupted central index locator");
+ proxytrack_print_log(CRITICAL, "PT_ReadCache:Corrupted central index locator");
}
}
}