fix attached.
This message posted from opensolaris.org
-- next part --
/solarisws/usr/src/cmd/mv/mv.c
this problem exist for unix domain sockets since 'mknod' cannot create socket
files.
value for S_IFSOCK = 49152(int)
= c000(hex)
fix is, to check whether the file is a unix domain socket or not.
bash-3.00# diff -u mv.c.org mv.c
--- mv.c.orgTue Oct 2 20:15:24 2007
+++ mv.cSat Dec 29 11:15:49 2007
@@ -898,11 +898,21 @@
}
goto cleanup;
}
- (void) fprintf(stderr,
- gettext("%s: %s: unknown file type 0x%x\n"), cmd,
- source, (s1.st_mode & S_IFMT));
- return (1);
+ if (( st.st_mode & S_IFMT) == S_IFSOCK) {
+ (void) fprintf(stderr,
+ gettext("%s: %s: cannot create unix socket file \n"),
cmd, source);
+
+ return (1);
+ }
+ else {
+ (void) fprintf(stderr,
+ gettext("%s: %s: unknown file type 0x%x\n"), cmd,
+ source, (s1.st_mode & S_IFMT));
+
+ return (1);
+ }
+
cleanup:
if (unlink(source) < 0) {
(void) unlink(target);
---