From: Enrico Scholz Date: Sun, 3 Jul 2005 13:16:34 +0000 (+0000) Subject: implemented better error-handling in the read() and write() functions X-Git-Tag: version_0_30_210~164 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddeb0b1f6a4dbe1d8132febd6dc3ce4d8a056480;p=util-vserver.git implemented better error-handling in the read() and write() functions git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2117 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/src/rpm-fake-resolver.c b/util-vserver/src/rpm-fake-resolver.c index e076d8b..39438b4 100644 --- a/util-vserver/src/rpm-fake-resolver.c +++ b/util-vserver/src/rpm-fake-resolver.c @@ -44,6 +44,7 @@ #define ENSC_WRAPPERS_PREFIX "rpm-fake-resolver: " #define ENSC_WRAPPERS_VSERVER 1 #define ENSC_WRAPPERS_UNISTD 1 +#define ENSC_WRAPPERS_IO 1 #define ENSC_WRAPPERS_FCNTL 1 #include @@ -151,15 +152,17 @@ static void do_getpwnam() { uint32_t len; - Eread(0, &len, sizeof len); - if (lenpw_uid); else sendResult(false, -1); } @@ -170,15 +173,17 @@ static void do_getgrnam() { uint32_t len; - Eread(0, &len, sizeof len); - if (lengr_gid); else sendResult(false, -1); } @@ -189,11 +194,13 @@ static void do_closenss() { uint8_t what; - Eread(0, &what, sizeof what); - switch (what) { - case 'p' : endpwent(); break; - case 'g' : endgrent(); break; - default : break; + + if (EreadAll(0, &what, sizeof what)) { + switch (what) { + case 'p' : endpwent(); break; + case 'g' : endgrent(); break; + default : break; + } } } @@ -202,9 +209,8 @@ run() { uint8_t c; - while (true) { - Ewrite(3, ".", 1); - Eread (0, &c, sizeof c); + while (EwriteAll(3, ".", 1), + EreadAll (0, &c, sizeof c)) { switch (c) { case 'P' : do_getpwnam(); break; case 'G' : do_getgrnam(); break;