From 16ff38f8289b93fe84a8e04aeddf33f9e78434fb Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Tue, 3 Jul 2012 22:08:35 +0200 Subject: [PATCH] nfs4: Support legacy owner and owner_group values --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 3286dc6bca..5199cb2055 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -9,6 +9,7 @@ #include "Inode.h" +#include #include #include @@ -547,14 +548,20 @@ Inode::Stat(struct stat* st) if (count >= next && values[next].fAttribute == FATTR4_OWNER) { char* owner = reinterpret_cast(values[next].fData.fPointer); - st->st_uid = gIdMapper->GetUserId(owner); + if (owner != NULL && isdigit(owner[0])) + st->st_uid = atoi(owner); + else + st->st_uid = gIdMapper->GetUserId(owner); next++; } else st->st_uid = 0; if (count >= next && values[next].fAttribute == FATTR4_OWNER_GROUP) { char* group = reinterpret_cast(values[next].fData.fPointer); - st->st_gid = gIdMapper->GetGroupId(group); + if (group != NULL && isdigit(group[0])) + st->st_gid = atoi(group); + else + st->st_gid = gIdMapper->GetGroupId(group); next++; } else st->st_gid = 0;