fix more unused variable warnings
authorRich Felker <dalias@aerifal.cx>
Fri, 2 Nov 2012 03:46:39 +0000 (23:46 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 2 Nov 2012 03:46:39 +0000 (23:46 -0400)
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.

src/internal/stdio_impl.h
src/ldso/dynlink.c
src/stdio/__stdio_exit.c
src/stdio/fclose.c

index 80646f8..e9045f2 100644 (file)
@@ -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
 
index 13bf16a..2524205 100644 (file)
@@ -435,7 +435,7 @@ static struct dso *load_library(const char *name)
        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 @@ void *__dynlink(int argc, char **argv)
        } 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 @@ void *__dynlink(int argc, char **argv)
 
        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 ||
index 3f87e7e..0fb3323 100644 (file)
@@ -8,7 +8,7 @@ weak_alias(dummy_file, __stderr_used);
 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);
 }
index 92bf7ff..38e8a1e 100644 (file)
@@ -5,8 +5,7 @@ int fclose(FILE *f)
        int r;
        int perm;
        
-       /* This lock is not paired with any unlock. */
-       FLOCK(f);
+       FFINALLOCK(f);
 
        if (!(perm = f->flags & F_PERM)) {
                OFLLOCK();