return values updated according to C standard