pem.c: reduce number of calls to strlen in readline
diff --git a/src/pem.c b/src/pem.c
index ff7dc6a..15f0ac2 100644
--- a/src/pem.c
+++ b/src/pem.c
@@ -41,15 +41,25 @@
 static int
 readline(char *line, int line_size, FILE * fp)
 {
+    size_t len;
+
+    if (!*line) {
+        return -1;
+    }
     if (!fgets(line, line_size, fp)) {
         return -1;
     }
-    if (*line && line[strlen(line) - 1] == '\n') {
-        line[strlen(line) - 1] = '\0';
+
+    len = strlen(line);
+    if (len > 0 && line[len - 1] == '\n') {
+        line[len - 1] = '\0';
     }
-    if (*line && line[strlen(line) - 1] == '\r') {
-        line[strlen(line) - 1] = '\0';
+
+    len = strlen(line);
+    if (len > 0 && line[len - 1] == '\r') {
+        line[len - 1] = '\0';
     }
+
     return 0;
 }