#!mkcmd # $Id: login.m,v 8.3 2004/12/15 22:20:18 ksb Exp $ # Accept a login or uid, look it up as in the passwd file and deep copy (ksb) # the it for later use. If a (struct passwd) changes a lot we are going to # loose big. from '' from '' from '' from '' require "util_savepwent.m" require "login.mc" pointer ["struct passwd"] type "login" { type update "if ((%XxB *)0 != %n) {(void)free((void *)%n);}if ((char *)0 == %N || '\\000' == %N[0]) {%n = (%XxB *)0;} else if ((%XxB *)0 == (%n = %K1v(%N, \"%qL\"))) {exit(1);}" type dynamic type comment "%L specify a login by name or uid" type keep type help "locate %qp as a login" type param "login" } # the key that keeps us in sync with the client code -- ksb key "login_cvt" 1 init { "login_cvt" "%N" '"%qL"' }