Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Avoid using a branching statement as the last in a loop (codacy).
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 25 Apr 2018 13:38:47 +0000 (15:38 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 25 Apr 2018 13:39:11 +0000 (15:39 +0200)
src/bindings/java/org/simgrid/NativeLib.java

index 0f8c1e6..660158a 100644 (file)
@@ -103,25 +103,27 @@ public final class NativeLib {
                     "lib"+name+".dylib"             /* mac osx */}) {
                                                
                        File fileOut = new File(tempDir.toFile().getAbsolutePath() + File.separator + filename);
+                       boolean done = false;
                        try ( // Try-with-resources. These stream will be autoclosed when needed.
                                InputStream in = NativeLib.class.getClassLoader().getResourceAsStream(path+filename);
                                OutputStream out = new FileOutputStream(fileOut);
                        ) {
-                               if (in == null)
-                                       continue; // Try the next name: no such file found
-                               
-                               /* copy the library in position */
-                               byte[] buffer = new byte[4096];
-                               int bytesRead;
-                               while ((bytesRead = in.read(buffer)) != -1)     // Read until EOF
-                                       out.write(buffer, 0, bytesRead);
+                               if (in != null) {
+                                       /* copy the library in position */
+                                       byte[] buffer = new byte[4096];
+                                       int bytesRead;
+                                       while ((bytesRead = in.read(buffer)) != -1)     // Read until EOF
+                                               out.write(buffer, 0, bytesRead);
+                                       done = true;
+                               }
                        }
+                       if (done) {
+                               /* load that library */
+                               System.load(fileOut.getAbsolutePath());
 
-                       /* load that library */
-                       System.load(fileOut.getAbsolutePath());
-
-                       /* It loaded! we're good */
-                       return true;
+                               /* It loaded! we're good */
+                               return true;
+                       }
                }
                
                /* No suitable name found */