Clean up the by_file_ctrl x509 code to be slightly less obtuse

Change-Id: I3591d3c0e1d189760352857fe147179a759c98fb
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/64327
Commit-Queue: David Benjamin <davidben@google.com>
Auto-Submit: Bob Beck <bbe@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
index a461246..8455211 100644
--- a/crypto/x509/by_file.c
+++ b/crypto/x509/by_file.c
@@ -76,35 +76,24 @@
 
 static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
                         char **ret) {
-  int ok = 0;
-  const char *file;
-
-  switch (cmd) {
-    case X509_L_FILE_LOAD:
-      if (argl == X509_FILETYPE_DEFAULT) {
-        file = getenv(X509_get_default_cert_file_env());
-        if (file) {
-          ok = (X509_load_cert_crl_file(ctx, file, X509_FILETYPE_PEM) != 0);
-        }
-
-        else {
-          ok = (X509_load_cert_crl_file(ctx, X509_get_default_cert_file(),
-                                        X509_FILETYPE_PEM) != 0);
-        }
-
-        if (!ok) {
-          OPENSSL_PUT_ERROR(X509, X509_R_LOADING_DEFAULTS);
-        }
-      } else {
-        if (argl == X509_FILETYPE_PEM) {
-          ok = (X509_load_cert_crl_file(ctx, argp, X509_FILETYPE_PEM) != 0);
-        } else {
-          ok = (X509_load_cert_file(ctx, argp, (int)argl) != 0);
-        }
-      }
-      break;
+  if (cmd != X509_L_FILE_LOAD) {
+    return 0;
   }
-  return ok;
+  const char *file = argp;
+  int type = argl;
+  if (argl == X509_FILETYPE_DEFAULT) {
+    if ((file = getenv(X509_get_default_cert_file_env())) == NULL) {
+      file = X509_get_default_cert_file();
+    }
+    type = X509_FILETYPE_PEM;
+  }
+  if (X509_load_cert_crl_file(ctx, file, type) != 0) {
+    return 1;
+  }
+  if (argl == X509_FILETYPE_DEFAULT) {
+    OPENSSL_PUT_ERROR(X509, X509_R_LOADING_DEFAULTS);
+  }
+  return 0;
 }
 
 int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type) {