aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-08-18 12:34:16 +0300
committerGitHub <noreply@github.com>2021-08-18 11:34:16 +0200
commit8d0c7b1faeed1e3df6e6f90658559f373bbf63fb (patch)
tree8ef500067f538f23652986c7b844f299a0e92ef3 /src/lib
parent677b513f70ade895ef28be744245803238100489 (diff)
Fixed Mingw64 build, SonerCloud-CI and more. (#1273)
* Added ARM build and unit test run for SonarCloud-CI. Signed-off-by: Toni Uhlig <matzeton@googlemail.com> * Fixed Mingw64 build. * adapted to SonarCloud-CI workflow * removed broken and incomplete Windows example (tested on VS2017/VS2019) * removed unnecessary include (e.g. pthread.h for the library which does not make use of it) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ndpi_classify.c6
-rw-r--r--src/lib/ndpi_main.c24
-rw-r--r--src/lib/third_party/src/ahocorasick.c5
3 files changed, 11 insertions, 24 deletions
diff --git a/src/lib/ndpi_classify.c b/src/lib/ndpi_classify.c
index a7a02cb4e..bea56afef 100644
--- a/src/lib/ndpi_classify.c
+++ b/src/lib/ndpi_classify.c
@@ -688,7 +688,13 @@ ndpi_log_timestamp(char *log_ts, uint32_t log_ts_len)
gettimeofday(&tv, NULL);
nowtime = tv.tv_sec;
+#ifdef WIN32
+ /* localtime() on Windows is thread-safe */
+ struct tm * nowtm_r_ptr = localtime(&nowtime);
+ nowtm_r = *nowtm_r_ptr;
+#else
localtime_r(&nowtime, &nowtm_r);
+#endif
strftime(tmbuf, NDPI_TIMESTAMP_LEN, "%H:%M:%S", &nowtm_r);
snprintf(log_ts, log_ts_len, "%s.%06ld", tmbuf, (long)tv.tv_usec);
}
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index c4535c768..38c0d7a86 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -7065,30 +7065,6 @@ char *ndpi_revision() {
/* ****************************************************** */
-#ifdef WIN32
-
-/* https://stackoverflow.com/questions/10905892/equivalent-of-gettimeday-for-windows */
-int gettimeofday(struct timeval *tp, struct timezone *tzp) {
- // Note: some broken versions only have 8 trailing zero's, the correct epoch has 9 trailing zero's
- // This magic number is the number of 100 nanosecond intervals since January 1, 1601 (UTC)
- // until 00:00:00 January 1, 1970
- static const uint64_t EPOCH = ((uint64_t) 116444736000000000ULL);
-
- SYSTEMTIME system_time;
- FILETIME file_time;
- uint64_t time;
-
- GetSystemTime(&system_time);
- SystemTimeToFileTime(&system_time, &file_time);
- time = ((uint64_t) file_time.dwLowDateTime);
- time += ((uint64_t) file_time.dwHighDateTime) << 32;
-
- tp->tv_sec = (long) ((time - EPOCH) / 10000000L);
- tp->tv_usec = (long) (system_time.wMilliseconds * 1000);
- return(0);
-}
-#endif
-
int NDPI_BITMASK_COMPARE(NDPI_PROTOCOL_BITMASK a, NDPI_PROTOCOL_BITMASK b) {
int i;
diff --git a/src/lib/third_party/src/ahocorasick.c b/src/lib/third_party/src/ahocorasick.c
index f29f558dc..d9dccac2c 100644
--- a/src/lib/third_party/src/ahocorasick.c
+++ b/src/lib/third_party/src/ahocorasick.c
@@ -677,8 +677,13 @@ void ac_automata_dump(AC_AUTOMATA_t * thiz, FILE *file) {
ai.bufstr[0] = '\0';
ac_automata_walk(thiz,dump_node_common,dump_node_str,(void *)&ai);
+#ifdef WIN32
+ fprintf(ai.file,"---\n mem size %lu avg node size %d, node one char %d, <=8c %d, >8c %d, range %d\n---DUMP-END-\n",
+ (long unsigned int)ai.memcnt,(int)ai.memcnt/(thiz->all_nodes_num+1),(int)ai.node_oc,(int)ai.node_8c,(int)ai.node_xc,(int)ai.node_xr);
+#else
fprintf(ai.file,"---\n mem size %zu avg node size %d, node one char %d, <=8c %d, >8c %d, range %d\n---DUMP-END-\n",
ai.memcnt,(int)ai.memcnt/(thiz->all_nodes_num+1),(int)ai.node_oc,(int)ai.node_8c,(int)ai.node_xc,(int)ai.node_xr);
+#endif
}
#endif