summaryrefslogtreecommitdiff
path: root/cord
diff options
context:
space:
mode:
Diffstat (limited to 'cord')
-rw-r--r--cord/cordxtra.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/cord/cordxtra.c b/cord/cordxtra.c
index 5904d3b2..abb34f64 100644
--- a/cord/cordxtra.c
+++ b/cord/cordxtra.c
@@ -21,19 +21,21 @@
# include <string.h>
# include <stdlib.h>
# include <stdarg.h>
+
# include "cord.h"
# include "ec.h"
+
# define I_HIDE_POINTERS /* So we get access to allocation lock. */
/* We use this for lazy file reading, */
- /* so that we remain independent */
- /* of the threads primitives. */
+ /* so that we remain independent */
+ /* of the threads primitives. */
# include "gc.h"
/* For now we assume that pointer reads and writes are atomic, */
/* i.e. another thread always sees the state before or after */
-/* a write. This might be false on a Motorola M68K with */
+/* a write. This might be false on a Motorola M68K with */
/* pointers that are not 32-bit aligned. But there probably */
-/* aren't too many threads packages running on those. */
+/* aren't too many threads packages running on those. */
# define ATOMIC_WRITE(x,y) (x) = (y)
# define ATOMIC_READ(x) (*(x))
@@ -45,8 +47,8 @@
# define SEEK_END 2
# endif
-# define BUFSZ 2048 /* Size of stack allocated buffers when */
- /* we want large buffers. */
+# define BUFSZ 2048 /* Size of stack allocated buffers when */
+ /* we want large buffers. */
typedef void (* oom_fn)(void);
@@ -54,6 +56,12 @@ typedef void (* oom_fn)(void);
ABORT("Out of memory\n"); }
# define ABORT(msg) { fprintf(stderr, "%s\n", msg); abort(); }
+#if __GNUC__ >= 4
+# define CORD_ATTR_UNUSED __attribute__((__unused__))
+#else
+# define CORD_ATTR_UNUSED /* empty */
+#endif
+
CORD CORD_cat_char(CORD x, char c)
{
register char * string;
@@ -425,8 +433,7 @@ void CORD_ec_append_cord(CORD_ec x, CORD s)
x[0].ec_cord = CORD_cat(x[0].ec_cord, s);
}
-/*ARGSUSED*/
-char CORD_nul_func(size_t i, void * client_data)
+char CORD_nul_func(size_t i CORD_ATTR_UNUSED, void * client_data)
{
return((char)(unsigned long)client_data);
}
@@ -551,8 +558,7 @@ char CORD_lf_func(size_t i, void * client_data)
return(cl -> data[MOD_LINE_SZ(i)]);
}
-/*ARGSUSED*/
-void CORD_lf_close_proc(void * obj, void * client_data)
+void CORD_lf_close_proc(void * obj, void * client_data CORD_ATTR_UNUSED)
{
if (fclose(((lf_state *)obj) -> lf_file) != 0) {
ABORT("CORD_lf_close_proc: fclose failed");