diff --git a/fb2png/fb.c b/fb2png/fb.c
index 2ed4789..a17f801 100644
--- a/fb2png/fb.c
+++ b/fb2png/fb.c
@@ -48,7 +48,6 @@
 {
     int ao = fb->alpha_offset;
     int ro = fb->red_offset;
-    int go = fb->green_offset;
     int bo = fb->blue_offset;
 
 #define FB_FORMAT_UNKNOWN   0
diff --git a/fb2png/img_process.c b/fb2png/img_process.c
index eb75e9a..535ec22 100644
--- a/fb2png/img_process.c
+++ b/fb2png/img_process.c
@@ -32,7 +32,7 @@
     from = (struct rgb565 *) src;
     to = (struct rgb888 *) dst;
 
-    int i = 0;
+    size_t i = 0;
     /* traverse pixel of the row */
     while(i++ < pixel) {
 
@@ -53,7 +53,7 @@
 
 int argb8888_to_rgb888(const char* src, char* dst, size_t pixel)
 {
-    int i;
+    size_t i;
     struct argb8888  *from;
     struct rgb888  *to;
 
@@ -77,7 +77,7 @@
 
 int abgr8888_to_rgb888(const char* src, char* dst, size_t pixel)
 {
-    int i;
+    size_t i;
     struct abgr8888  *from;
     struct rgb888  *to;
 
@@ -101,7 +101,7 @@
 
 int bgra8888_to_rgb888(const char* src, char* dst, size_t pixel)
 {
-    int i;
+    size_t i;
     struct bgra8888  *from;
     struct rgb888  *to;
 
@@ -125,7 +125,7 @@
 
 int rgba8888_to_rgb888(const char* src, char* dst, size_t pixel)
 {
-    int i;
+    size_t i;
     struct rgba8888  *from;
     struct rgb888  *to;
 
@@ -164,19 +164,19 @@
 }
 
 static void
-png_simple_output_flush_fn (png_structp png_ptr)
+png_simple_output_flush_fn (__attribute__((unused)) png_structp png_ptr)
 {
 }
 
 static void
-png_simple_error_callback (png_structp png,
+png_simple_error_callback (__attribute__((unused)) png_structp png,
                        png_const_charp error_msg)
 {
     E("png error: %s\n", error_msg);
 }
 
 static void
-png_simple_warning_callback (png_structp png,
+png_simple_warning_callback (__attribute__((unused)) png_structp png,
                          png_const_charp error_msg)
 {
     fprintf(stderr, "png warning: %s\n", error_msg);
diff --git a/fb2png/log.h b/fb2png/log.h
index 2b7cf8c..a2e3f5f 100644
--- a/fb2png/log.h
+++ b/fb2png/log.h
@@ -57,7 +57,7 @@
 
 #endif
 
-static void
+__attribute__((unused)) static void
 D(const char *msg, ...)
 {
     va_list ap;
@@ -69,7 +69,7 @@
     fflush(stdout);
 }
 
-static void
+__attribute__((unused)) static void
 E(const char *msg, ...)
 {
     va_list ap;
