Check if getlogin fails use getpwuid($<) instead.
authorZhang Qiang <qiang.z.zhang@intel.com>
Thu, 27 Sep 2012 08:13:30 +0000 (16:13 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Thu, 27 Sep 2012 08:55:27 +0000 (16:55 +0800)
getlogin may return empty string in active directory authentication
system, in this case getpwuid($<) is used instead.

Change-Id: I2bfe65caf0518e4eb187fee5c817355988b78bb5

depanneur

index 27f2d73..158fdc9 100755 (executable)
--- a/depanneur
+++ b/depanneur
@@ -44,7 +44,12 @@ use vars qw/*name *dir *prune/;
 *dir    = *File::Find::dir;
 *prune  = *File::Find::prune;
 
-my ($zname, $zpass, $zuid, $zgid, $zquota, $zcomment, $zgcos, $zdir, $zshell, $zexpire) = getpwnam(getlogin());
+my ($zuid, $zgid);
+if (getlogin()) {
+     ($zuid, $zgid) = (getpwnam(getlogin()))[2,3];
+} else {
+     ($zuid, $zgid) = (getpwuid($<))[2,3];
+}
 
 
 use Cwd qw(cwd abs_path);