Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
e38833ad
Commit
e38833ad
authored
Jul 28, 2002
by
Martin v. Löwis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Patch #573770: Implement lchown.
parent
4cc99aa7
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
49 additions
and
8 deletions
+49
-8
Doc/lib/libos.tex
Doc/lib/libos.tex
+7
-0
Misc/NEWS
Misc/NEWS
+3
-3
Modules/posixmodule.c
Modules/posixmodule.c
+30
-0
configure
configure
+4
-3
configure.in
configure.in
+2
-2
pyconfig.h.in
pyconfig.h.in
+3
-0
No files found.
Doc/lib/libos.tex
View file @
e38833ad
...
...
@@ -641,6 +641,13 @@ and \var{gid}.
Availability:
\UNIX
.
\end{funcdesc}
\begin{funcdesc}
{
lchown
}{
path, uid, gid
}
Change the owner and group id of
\var
{
path
}
to the numeric
\var
{
uid
}
and gid. This function will not follow symbolic links.
Availability:
\UNIX
.
\versionadded
{
2.3
}
\end{funcdesc}
\begin{funcdesc}
{
link
}{
src, dst
}
Create a hard link pointing to
\var
{
src
}
named
\var
{
dst
}
.
Availability:
\UNIX
.
...
...
Misc/NEWS
View file @
e38833ad
...
...
@@ -162,8 +162,8 @@ Extension modules
This will create a temporary in-memory bsddb that won't be
written to disk.
- posix.
killpg, posix.mknod, and posix.getpgid have been added where
available.
- posix.
lchown, posix.killpg, posix.mknod, and posix.getpgid have been
a
dded where a
vailable.
- The locale module now exposes the C library's gettext interface.
...
...
@@ -339,7 +339,7 @@ Build
to require editing the core to teach the trashcan mechanism about the
new type.
- Accoring to Annex F of the current C standard,
- Accor
d
ing to Annex F of the current C standard,
The Standard C macro HUGE_VAL and its float and long double analogs,
HUGE_VALF and HUGE_VALL, expand to expressions whose values are
...
...
Modules/posixmodule.c
View file @
e38833ad
...
...
@@ -930,6 +930,33 @@ posix_chown(PyObject *self, PyObject *args)
}
#endif
/* HAVE_CHOWN */
#ifdef HAVE_LCHOWN
PyDoc_STRVAR
(
posix_lchown__doc__
,
"lchown(path, uid, gid)
\n\n
\
Change the owner and group id of path to the numeric uid and gid.
\n
\
This function will not follow symbolic links."
);
static
PyObject
*
posix_lchown
(
PyObject
*
self
,
PyObject
*
args
)
{
char
*
path
=
NULL
;
int
uid
,
gid
;
int
res
;
if
(
!
PyArg_ParseTuple
(
args
,
"etii:lchown"
,
Py_FileSystemDefaultEncoding
,
&
path
,
&
uid
,
&
gid
))
return
NULL
;
Py_BEGIN_ALLOW_THREADS
res
=
lchown
(
path
,
(
uid_t
)
uid
,
(
gid_t
)
gid
);
Py_END_ALLOW_THREADS
if
(
res
<
0
)
return
posix_error_with_allocated_filename
(
path
);
PyMem_Free
(
path
);
Py_INCREF
(
Py_None
);
return
Py_None
;
}
#endif
/* HAVE_LCHOWN */
#ifdef HAVE_GETCWD
PyDoc_STRVAR
(
posix_getcwd__doc__
,
...
...
@@ -6225,6 +6252,9 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_CHOWN
{
"chown"
,
posix_chown
,
METH_VARARGS
,
posix_chown__doc__
},
#endif
/* HAVE_CHOWN */
#ifdef HAVE_LCHOWN
{
"lchown"
,
posix_lchown
,
METH_VARARGS
,
posix_lchown__doc__
},
#endif
/* HAVE_LCHOWN */
#ifdef HAVE_CHROOT
{
"chroot"
,
posix_chroot
,
METH_VARARGS
,
posix_chroot__doc__
},
#endif
...
...
configure
View file @
e38833ad
#! /bin/sh
# From configure.in Revision: 1.33
4
.
# From configure.in Revision: 1.33
5
.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53.
#
...
...
@@ -11436,13 +11436,14 @@ echo "${ECHO_T}MACHDEP_OBJS" >&6
for
ac_func
in
alarm
chown chroot
clock confstr ctermid ctermid_r execv
\
fchdir flock fork fsync fdatasync fpathconf ftime ftruncate
\
gai_strerror getgroups getlogin getpeername getpgid getpid getpwent getwd
\
hstrerror inet_pton
kill
killpg
l
ink
lstat
mkfifo mknod
mktime mremap
\
nice
pathconf pause plock poll pthread_init
\
hstrerror inet_pton
kill
killpg l
chown
link
lstat
mkfifo mknod
mktime
\
mremap
nice
pathconf pause plock poll pthread_init
\
putenv
readlink
\
select
setegid seteuid setgid setgroups
\
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf
\
...
...
configure.in
View file @
e38833ad
...
...
@@ -1619,8 +1619,8 @@ AC_MSG_RESULT(MACHDEP_OBJS)
AC_CHECK_FUNCS(alarm chown chroot clock confstr ctermid ctermid_r execv \
fchdir flock fork fsync fdatasync fpathconf ftime ftruncate \
gai_strerror getgroups getlogin getpeername getpgid getpid getpwent getwd \
hstrerror inet_pton kill killpg l
ink lstat mkfifo mknod mktime mremap
\
nice pathconf pause plock poll pthread_init \
hstrerror inet_pton kill killpg l
chown link lstat mkfifo mknod mktime
\
mremap
nice pathconf pause plock poll pthread_init \
putenv readlink \
select setegid seteuid setgid setgroups \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
...
...
pyconfig.h.in
View file @
e38833ad
...
...
@@ -211,6 +211,9 @@
Solaris and Linux, the necessary defines are already defined.) */
#undef HAVE_LARGEFILE_SUPPORT
/* Define to 1 if you have the `lchown' function. */
#undef HAVE_LCHOWN
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment