replace with non-gpl implementation

This commit is contained in:
Sterling Hughes 2002-04-04 20:14:47 +00:00
parent c57f3c562d
commit f30b124b93
2 changed files with 24 additions and 91 deletions

View File

@ -1,28 +1,3 @@
/* pwd.c - Try to approximate UN*X's getuser...() functions under MS-DOS.
Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Header$
*/
/* This 'implementation' is conjectured from the use of this functions in
the RCS and BASH distributions. Of course these functions don't do too
much useful things under MS-DOS, but using them avoids many "#ifdef
MSDOS" in ported UN*X code ... */
#include "php.h" /*php specific */
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@ -35,40 +10,37 @@
#include "grp.h"
#ifndef THREAD_SAFE
static struct passwd pw; /* should we return a malloc()'d structure */
static struct passwd pwd;
#endif
static char *home_dir = "."; /* we feel (no|every)where at home */
static char *home_dir = ".";
static char *login_shell = "not command.com!";
struct passwd *getpwnam(char *name)
struct passwd *
getpwnam(char *name)
{
return (struct passwd *) 0;
}
char *getlogin()
char *
getlogin()
{
static char name[256];
DWORD dw = 256;
GetUserName(name, &dw);
DWORD max_len = 256;
GetUserName(name, &max_len);
return name;
}
struct passwd *
getpwuid(int uid)
getpwuid(int user_id)
{
pw.pw_name = getlogin();
pw.pw_dir = home_dir;
pw.pw_shell = login_shell;
pw.pw_uid = 0;
pwd.pw_name = getlogin();
pwd.pw_dir = home_dir;
pwd.pw_shell = login_shell;
pwd.pw_uid = 0;
return &pw;
return &pwd;
}
/*
* Local Variables:
* mode:C
* ChangeLog:ChangeLog
* compile-command:make
* End:
*/

View File

@ -1,57 +1,18 @@
/* pwd.h - Try to approximate UN*X's getuser...() functions under MS-DOS.
Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Header$
*/
/* This 'implementation' is conjectured from the use of this functions in
the RCS and BASH distributions. Of course these functions don't do too
much useful things under MS-DOS, but using them avoids many "#ifdef
MSDOS" in ported UN*X code ... */
/*
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
*/
#ifndef PWD_H
#define PWD_H
#if 0
/* This is taken care of in Windows-NT/config.h. */
typedef int uid_t;
#endif
struct passwd {
char *pw_name; /* user name */
char *pw_passwd; /* encrypted password */
int pw_uid; /* user uid */
int pw_gid; /* user gid */
char *pw_comment; /* comment */
char *pw_gecos; /* Honeywell login info */
char *pw_dir; /* home directory */
char *pw_shell; /* default shell */
char *pw_name;
char *pw_passwd;
int pw_uid;
int pw_gid;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};
extern struct passwd *getpwuid(int);
extern struct passwd *getpwnam(char *name);
extern char *getlogin(void);
#endif
/*
* Local Variables:
* mode:C
* ChangeLog:ChangeLog
* compile-command:make
* End:
*/