Index: src/config.c
--- src/config.c.orig
+++ src/config.c
@@ -238,13 +238,13 @@ init_config(const char *filename, struct ev_loop *loop
     }
 
     if (parse_config(config, file, global_grammar) <= 0) {
-        intmax_t whence = ftell(file);
+        off_t whence = ftello(file);
         char line[256];
 
-        err("error parsing %s at %jd near:", filename, whence);
-        fseek(file, -20, SEEK_CUR);
+        err("error parsing %s at %jd near:", filename, (intmax_t)whence);
+        fseeko(file, -20, SEEK_CUR);
         for (int i = 0; i < 5; i++)
-            err(" %jd\t%s", ftell(file), fgets(line, sizeof(line), file));
+            err(" %jd\t%s", (intmax_t)ftello(file), fgets(line, sizeof(line), file));
 
         free_config(config, loop);
         config = NULL;
