1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

deprecate cuserid

* libguile/posix.c:
* libguile/posix.h:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_cuserid): Deprecate cuserid, as it only
  returns 8 bytes of a user's login.

* doc/ref/posix.texi: Remove cuserid from docs.
This commit is contained in:
Andy Wingo 2010-11-18 11:15:16 +01:00
parent e75184d5d2
commit cd28785f79
5 changed files with 35 additions and 37 deletions

View file

@ -1112,18 +1112,7 @@ or getgrent respectively.
@end deffn @end deffn
In addition to the accessor procedures for the user database, the In addition to the accessor procedures for the user database, the
following shortcut procedures are also available. following shortcut procedure is also available.
@deffn {Scheme Procedure} cuserid
@deffnx {C Function} scm_cuserid ()
Return a string containing a user name associated with the
effective user id of the process. Return @code{#f} if this
information cannot be obtained.
This function has been removed from the latest POSIX specification,
Guile provides it only if the system has it. Using @code{(getpwuid
(geteuid))} may be a better idea.
@end deffn
@deffn {Scheme Procedure} getlogin @deffn {Scheme Procedure} getlogin
@deffnx {C Function} scm_getlogin () @deffnx {C Function} scm_getlogin ()

View file

@ -2361,6 +2361,35 @@ int scm_internal_select (int fds,
#ifdef HAVE_CUSERID
# if !HAVE_DECL_CUSERID
extern char *cuserid (char *);
# endif
SCM_DEFINE (scm_cuserid, "cuserid", 0, 0, 0,
(void),
"Return a string containing a user name associated with the\n"
"effective user id of the process. Return @code{#f} if this\n"
"information cannot be obtained.")
#define FUNC_NAME s_scm_cuserid
{
char buf[L_cuserid];
char * p;
scm_c_issue_deprecation_warning
("`cuserid' is deprecated. Use `(passwd:name (getpwuid (geteuid)))' instead.");
p = cuserid (buf);
if (!p || !*p)
return SCM_BOOL_F;
return scm_from_locale_string (p);
}
#undef FUNC_NAME
#endif /* HAVE_CUSERID */
void void
scm_i_init_deprecated () scm_i_init_deprecated ()
{ {

View file

@ -736,6 +736,11 @@ SCM_DEPRECATED int scm_internal_select (int fds,
SELECT_TYPE *efds, SELECT_TYPE *efds,
struct timeval *timeout); struct timeval *timeout);
/* Deprecated because the cuserid call is deprecated.
*/
SCM_API SCM scm_cuserid (void);
void scm_i_init_deprecated (void); void scm_i_init_deprecated (void);

View file

@ -1841,30 +1841,6 @@ SCM_DEFINE (scm_getlogin, "getlogin", 0, 0, 0,
#undef FUNC_NAME #undef FUNC_NAME
#endif /* HAVE_GETLOGIN */ #endif /* HAVE_GETLOGIN */
#ifdef HAVE_CUSERID
# if !HAVE_DECL_CUSERID
extern char *cuserid (char *);
# endif
SCM_DEFINE (scm_cuserid, "cuserid", 0, 0, 0,
(void),
"Return a string containing a user name associated with the\n"
"effective user id of the process. Return @code{#f} if this\n"
"information cannot be obtained.")
#define FUNC_NAME s_scm_cuserid
{
char buf[L_cuserid];
char * p;
p = cuserid (buf);
if (!p || !*p)
return SCM_BOOL_F;
return scm_from_locale_string (p);
}
#undef FUNC_NAME
#endif /* HAVE_CUSERID */
#if HAVE_GETPRIORITY #if HAVE_GETPRIORITY
SCM_DEFINE (scm_getpriority, "getpriority", 2, 0, 0, SCM_DEFINE (scm_getpriority, "getpriority", 2, 0, 0,
(SCM which, SCM who), (SCM which, SCM who),

View file

@ -83,7 +83,6 @@ SCM_API SCM scm_sync (void);
SCM_API SCM scm_crypt (SCM key, SCM salt); SCM_API SCM scm_crypt (SCM key, SCM salt);
SCM_API SCM scm_chroot (SCM path); SCM_API SCM scm_chroot (SCM path);
SCM_API SCM scm_getlogin (void); SCM_API SCM scm_getlogin (void);
SCM_API SCM scm_cuserid (void);
SCM_API SCM scm_getpriority (SCM which, SCM who); SCM_API SCM scm_getpriority (SCM which, SCM who);
SCM_API SCM scm_setpriority (SCM which, SCM who, SCM prio); SCM_API SCM scm_setpriority (SCM which, SCM who, SCM prio);
SCM_API SCM scm_getpass (SCM prompt); SCM_API SCM scm_getpass (SCM prompt);