]> git.droids-corp.org - protos/libecoli.git/blobdiff - lib/ecoli_node_file.c
do not clobber errno
[protos/libecoli.git] / lib / ecoli_node_file.c
index 09f96fc93c0653beb193ad3ec4623009a35587ff..001dcb6bf1ce0d2d57ab09c8c8955b6c4399ed9d 100644 (file)
@@ -161,13 +161,17 @@ ec_node_file_complete(const struct ec_node *gen_node,
 
        bname_len = strlen(bname);
        while (1) {
+               int save_errno = errno;
+
                errno = 0;
                de = node->readdir(dir);
                if (de == NULL) {
-                       if (errno == 0)
+                       if (errno == 0) {
+                               errno = save_errno;
                                goto out;
-                       else
+                       } else {
                                goto fail;
+                       }
                }
 
                if (!ec_str_startswith(de->d_name, bname))