]> mj.ucw.cz Git - libucw.git/commitdiff
Tried to use libm for calculating logarithmic frequencies of words,
authorMartin Mares <mj@ucw.cz>
Wed, 5 Feb 2003 18:15:24 +0000 (18:15 +0000)
committerMartin Mares <mj@ucw.cz>
Wed, 5 Feb 2003 18:15:24 +0000 (18:15 +0000)
but ran into problems with function name collisions. Damn the C's flat
namespace!

Renamed our log to log_msg, but keep the original name as a macro
expanding to the new one. Also renamed log2 (which is currently not used
anywhere) to fls (find last set, akin to ffs).

Introduced lib/math.h which is a wrapper around <math.h> handling
name collisions by clever macro tricks.

lib/lib.h
lib/log.c
lib/log2.c
lib/math.h [new file with mode: 0644]

index abd536d57773bf28e16ff0880fbe7ffe99bf853c..6ed45a9a3e28c637aa85ac1b212e733bf8b5048f 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -1,7 +1,7 @@
 /*
  *     Sherlock Library -- Miscellaneous Functions
  *
- *     (c) 1997--2001 Martin Mares <mj@ucw.cz>
+ *     (c) 1997--2003 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
@@ -48,7 +48,8 @@
 #define L_ERROR_R      'e'
 #define L_FATAL                '!'             /* die() */
 
-void log(unsigned int cat, const char *msg, ...) __attribute__((format(printf,2,3)));
+void log_msg(unsigned int cat, const char *msg, ...) __attribute__((format(printf,2,3)));
+#define log log_msg
 void die(byte *, ...) NONRET;
 void log_init(byte *);
 void log_file(byte *);
@@ -102,7 +103,7 @@ int match_ct_patt(byte *, byte *);
 
 /* log2.c */
 
-int log2(u32);
+int fls(u32);
 
 /* wordsplit.c */
 
index 3ab60eb4e8866105c01ccd974aa57b6b2cd57549..3bf3d28554694388d02a61194fecff70dbe325ae 100644 (file)
--- a/lib/log.c
+++ b/lib/log.c
@@ -105,7 +105,7 @@ vlog(unsigned int cat, const char *msg, va_list args)
 }
 
 void
-log(unsigned int cat, const char *msg, ...)
+log_msg(unsigned int cat, const char *msg, ...)
 {
   va_list args;
 
index a40ba069c02af64238a0bf02633d8fe61d792360..08b27bcf8dc95aedfe70f17a1bdc45c3c8b045dc 100644 (file)
@@ -9,10 +9,8 @@
 
 #include "lib/lib.h"
 
-#undef log2
-
 int
-log2(u32 x)
+fls(u32 x)
 {
   uns l;
 
diff --git a/lib/math.h b/lib/math.h
new file mode 100644 (file)
index 0000000..4bd52b9
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ *     Sherlock Library -- Stub for including math.h, avoiding name collisions
+ *
+ *     (c) 2003 Martin Mares <mj@ucw.cz>
+ *
+ *     This software may be freely distributed and used according to the terms
+ *     of the GNU Lesser General Public License.
+ */
+
+#undef log
+#define log libm_log
+#define exception math_exception
+#include <math.h>
+#undef log
+#define log log_msg
+#undef exception