X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Fdevice_open.c;h=e5639c712204ee919e45a9663765fdcf03635910;hb=3a4d5a73a876b0922afed095bc9f83dbdf07148e;hp=2b35ad8a3379f24adf8199f301ad01e62f0bf387;hpb=7cea262273659e9894d446a3f9ea6b83fb18892a;p=oweals%2Fbusybox.git diff --git a/libbb/device_open.c b/libbb/device_open.c index 2b35ad8a3..e5639c712 100644 --- a/libbb/device_open.c +++ b/libbb/device_open.c @@ -4,23 +4,24 @@ * * Copyright (C) 1999-2004 by Erik Andersen * - * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. + * Licensed under GPLv2 or later, see file LICENSE in this source tree. */ - #include "libbb.h" /* try to open up the specified device */ -int device_open(const char *device, int mode) +int FAST_FUNC device_open(const char *device, int mode) { - int m, f, fd = -1; + int m, f, fd; m = mode | O_NONBLOCK; /* Retry up to 5 times */ /* TODO: explain why it can't be considered insane */ - for (f = 0; f < 5; f++) - if ((fd = open(device, m, 0600)) >= 0) + for (f = 0; f < 5; f++) { + fd = open(device, m, 0600); + if (fd >= 0) break; + } if (fd < 0) return fd; /* Reset original flags. */