115: def uid(user)
116: begin
117: user = Integer(user)
118: rescue ArgumentError
119:
120: end
121: if user.is_a?(Integer)
122: return nil unless name = get_posix_field(:passwd, :name, user)
123: uid = get_posix_field(:passwd, :uid, name)
124: check_value = uid
125: else
126: return nil unless uid = get_posix_field(:passwd, :uid, user)
127: name = get_posix_field(:passwd, :name, uid)
128: check_value = name
129: end
130: if check_value != user
131: return search_posix_field(:passwd, :uid, user)
132: else
133: return uid
134: end
135: end