fix more unused variable warnings
some of these were coming from stdio functions locking files without
unlocking them. I believe it's useful for this to throw a warning, so
I added a new macro that's self-documenting that the file will never
be unlocked to avoid the warning in the few places where it's wrong.
diff --git a/src/internal/stdio_impl.h b/src/internal/stdio_impl.h
index 80646f8..e9045f2 100644
--- a/src/internal/stdio_impl.h
+++ b/src/internal/stdio_impl.h
@@ -24,6 +24,7 @@
#define UNGET 8
+#define FFINALLOCK(f) ((f)->lock>=0 ? __lockfile((f)) : 0)
#define FLOCK(f) int __need_unlock = ((f)->lock>=0 ? __lockfile((f)) : 0)
#define FUNLOCK(f) if (__need_unlock) __unlockfile((f)); else
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
index 13bf16a..2524205 100644
--- a/src/ldso/dynlink.c
+++ b/src/ldso/dynlink.c
@@ -435,7 +435,7 @@
char buf[2*NAME_MAX+2];
const char *pathname;
unsigned char *base, *map;
- size_t dyno, map_len;
+ size_t map_len;
struct dso *p, temp_dso = {0};
int fd;
struct stat st;
@@ -866,7 +866,7 @@
} else {
int fd;
char *ldname = argv[0];
- size_t dyno, l = strlen(ldname);
+ size_t l = strlen(ldname);
if (l >= 3 && !strcmp(ldname+l-3, "ldd")) ldd_mode = 1;
*argv++ = (void *)-1;
if (argv[0] && !strcmp(argv[0], "--")) *argv++ = (void *)-1;
@@ -962,7 +962,6 @@
update_tls_size();
if (tls_cnt) {
- struct dso *p;
void *mem = mmap(0, libc.tls_size, PROT_READ|PROT_WRITE,
MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
if (mem==MAP_FAILED ||
diff --git a/src/stdio/__stdio_exit.c b/src/stdio/__stdio_exit.c
index 3f87e7e..0fb3323 100644
--- a/src/stdio/__stdio_exit.c
+++ b/src/stdio/__stdio_exit.c
@@ -8,7 +8,7 @@
static void close_file(FILE *f)
{
if (!f) return;
- FLOCK(f);
+ FFINALLOCK(f);
if (f->wpos > f->wbase) f->write(f, 0, 0);
if (f->rpos < f->rend) f->seek(f, f->rpos-f->rend, SEEK_CUR);
}
diff --git a/src/stdio/fclose.c b/src/stdio/fclose.c
index 92bf7ff..38e8a1e 100644
--- a/src/stdio/fclose.c
+++ b/src/stdio/fclose.c
@@ -5,8 +5,7 @@
int r;
int perm;
- /* This lock is not paired with any unlock. */
- FLOCK(f);
+ FFINALLOCK(f);
if (!(perm = f->flags & F_PERM)) {
OFLLOCK();