From: Earnie B. <ea...@us...> - 2006-08-11 17:21:42
|
Update of /cvsroot/mingw/msys/packages/bash/3.1/builtins In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv12052/builtins Modified Files: cd.def evalfile.c fc.def read.def ulimit.def Log Message: Add MSYS changes Index: cd.def =================================================================== RCS file: /cvsroot/mingw/msys/packages/bash/3.1/builtins/cd.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cd.def 11 Aug 2006 16:29:07 -0000 1.1 --- cd.def 11 Aug 2006 17:21:39 -0000 1.2 *************** *** 316,323 **** $BUILTIN pwd $FUNCTION pwd_builtin ! $SHORT_DOC pwd [-LP] Print the current working directory. With the -P option, pwd prints the physical directory, without any symbolic links; the -L option ! makes pwd follow symbolic links. $END --- 316,324 ---- $BUILTIN pwd $FUNCTION pwd_builtin ! $SHORT_DOC pwd [-LPW] Print the current working directory. With the -P option, pwd prints the physical directory, without any symbolic links; the -L option ! makes pwd follow symbolic links; the -W option makes pwd print the Win32 value ! of the physical directory. $END *************** *** 331,335 **** WORD_LIST *list; { ! char *directory; int opt, pflag; --- 332,336 ---- WORD_LIST *list; { ! char *directory, *buffer, *wbuffer; int opt, pflag; *************** *** 337,341 **** pflag = 0; reset_internal_getopt (); ! while ((opt = internal_getopt (list, "LP")) != -1) { switch (opt) --- 338,342 ---- pflag = 0; reset_internal_getopt (); ! while ((opt = internal_getopt (list, "LPW")) != -1) { switch (opt) *************** *** 347,350 **** --- 348,354 ---- verbatim_pwd = 0; break; + case 'W': + verbatim_pwd = 2; + break; default: builtin_usage (); *************** *** 354,369 **** list = loptend; #define tcwd the_current_working_directory ! directory = tcwd ? (verbatim_pwd ? sh_physpath (tcwd, 0) : tcwd) ! : get_working_directory ("pwd"); ! /* Try again using getcwd() if canonicalization fails (for instance, if ! the file system has changed state underneath bash). */ ! if ((tcwd && directory == 0) || ! (posixly_correct && same_file (".", tcwd, (struct stat *)0, (struct stat *)0) == 0)) ! directory = resetpwd ("pwd"); #undef tcwd if (directory) --- 358,387 ---- list = loptend; + if (verbatim_pwd == 2) { + buffer = xmalloc (PATH_MAX); + wbuffer = xmalloc (PATH_MAX); + directory = getcwd (buffer, PATH_MAX); + cygwin_conv_to_win32_path (buffer, wbuffer); + { + char *c = wbuffer; + while (c = strchr (c, '\\')) + *c = '/'; + } + free (buffer); + directory = wbuffer; + } else { #define tcwd the_current_working_directory ! directory = tcwd ? (verbatim_pwd ? sh_physpath (tcwd, 0) : tcwd) ! : get_working_directory ("pwd"); ! /* Try again using getcwd() if canonicalization fails (for instance, if ! the file system has changed state underneath bash). */ ! if ((tcwd && directory == 0) || ! (posixly_correct && same_file (".", tcwd, (struct stat *)0, (struct stat *)0) == 0)) ! directory = resetpwd ("pwd"); #undef tcwd + } if (directory) Index: ulimit.def =================================================================== RCS file: /cvsroot/mingw/msys/packages/bash/3.1/builtins/ulimit.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ulimit.def 11 Aug 2006 16:29:11 -0000 1.1 --- ulimit.def 11 Aug 2006 17:21:39 -0000 1.2 *************** *** 528,532 **** case RLIMIT_OPENFILES: #if defined (HAVE_SETDTABLESIZE) ! # if defined (__CYGWIN__) /* Grrr... Cygwin declares setdtablesize as void. */ setdtablesize (newlim); --- 528,532 ---- case RLIMIT_OPENFILES: #if defined (HAVE_SETDTABLESIZE) ! # if defined (__CYGWIN__) || __MSYS__ /* Grrr... Cygwin declares setdtablesize as void. */ setdtablesize (newlim); Index: fc.def =================================================================== RCS file: /cvsroot/mingw/msys/packages/bash/3.1/builtins/fc.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** fc.def 11 Aug 2006 16:29:09 -0000 1.1 --- fc.def 11 Aug 2006 17:21:39 -0000 1.2 *************** *** 528,531 **** --- 528,534 ---- { register int c; + #ifdef __MSYS__ + register int d; + #endif int line_len = 0, lindex = 0; char *line = (char *)NULL; *************** *** 538,541 **** --- 541,548 ---- if (c == '\n') { + #ifdef __MSYS__ + if (d == '\r') + lindex--; + #endif line[lindex++] = '\n'; line[lindex++] = '\0'; *************** *** 544,547 **** --- 551,557 ---- else line[lindex++] = c; + #ifdef __MSYS__ + d = c; + #endif } Index: evalfile.c =================================================================== RCS file: /cvsroot/mingw/msys/packages/bash/3.1/builtins/evalfile.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** evalfile.c 11 Aug 2006 16:29:08 -0000 1.1 --- evalfile.c 11 Aug 2006 17:21:39 -0000 1.2 *************** *** 144,148 **** } ! #if defined (__CYGWIN__) && defined (O_TEXT) setmode (fd, O_TEXT); #endif --- 144,148 ---- } ! #if (defined (__CYGWIN__) /*|| __MSYS__ DO NOT USE IN MSYS*/) && defined (O_TEXT) setmode (fd, O_TEXT); #endif Index: read.def =================================================================== RCS file: /cvsroot/mingw/msys/packages/bash/3.1/builtins/read.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** read.def 11 Aug 2006 16:29:10 -0000 1.1 --- read.def 11 Aug 2006 17:21:39 -0000 1.2 *************** *** 62,66 **** #include <errno.h> ! #ifdef __CYGWIN__ # include <fcntl.h> # include <io.h> --- 62,66 ---- #include <errno.h> ! #if __CYGWIN__ || __MSYS__ # include <fcntl.h> # include <io.h> *************** *** 285,289 **** input_is_tty = isatty (fd); if (input_is_tty == 0) ! #ifndef __CYGWIN__ input_is_pipe = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE); #else --- 285,289 ---- input_is_tty = isatty (fd); if (input_is_tty == 0) ! #if ! (__CYGWIN__ || __MSYS__) input_is_pipe = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE); #else *************** *** 379,383 **** unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe; ! #if defined (__CYGWIN__) && defined (O_TEXT) setmode (0, O_TEXT); #endif --- 379,383 ---- unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe; ! #if (defined (__CYGWIN__) /*|| __MSYS__ DO NOT USE IN MSYS*/) && defined (O_TEXT) setmode (0, O_TEXT); #endif |