Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2012-08-10 13:37:39 +0400
committercvs2svn <>2012-08-10 13:37:39 +0400
commit0339a726da6bbfbbebd4f8aeae8617ed0dbf3b53 (patch)
tree7c404aff7b4917ebd09d7c662c3be638b50af254 /newlib/libc/posix
parentc0956742a74d194b9c18c7a91aa6d6010beb4cd3 (diff)
This commit was manufactured by cvs2svn to create tag 'cygwin-cygwin-1_7_15-release
1_7_15-release'. Sprout from cygwin-64bit-branch 2012-08-10 09:37:33 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'cygwin-64bit-' Cherrypick from master 2012-05-09 07:32:48 UTC Yaakov Selkowitz <yselkowi@redhat.com> ' * new-features.sgml (ov-new1.7.15): Fix XML syntax.': COPYING3 COPYING3.LIB ChangeLog MAINTAINERS compile config.rpath config/ChangeLog config/mh-darwin config/mh-interix config/mh-ppc-aix config/mt-alphaieee config/mt-sde config/picflag.m4 config/stdint.m4 config/tcl.m4 configure configure.ac include/ChangeLog include/dis-asm.h include/dwarf2.def include/dwarf2.h include/elf/ChangeLog include/elf/avr.h include/elf/common.h include/elf/m68hc11.h include/elf/ppc.h include/elf/s390.h include/filenames.h include/gdb/ChangeLog include/gdb/callback.h include/gdb/signals.def include/gdb/signals.h include/mach-o/ChangeLog include/mach-o/codesign.h include/mach-o/external.h include/mach-o/loader.h include/mach-o/reloc.h include/mach-o/x86-64.h include/opcode/ChangeLog include/opcode/avr.h include/opcode/m68hc11.h include/opcode/mips.h include/opcode/ppc.h include/opcode/xgate.h include/plugin-api.h ltgcc.m4 ltoptions.m4 ltversion.m4 lt~obsolete.m4 newlib/ChangeLog newlib/doc/Makefile.am newlib/doc/Makefile.in newlib/libc/include/stdio.h newlib/libc/include/string.h newlib/libc/include/sys/signal.h newlib/libc/include/sys/stat.h newlib/libc/include/sys/time.h newlib/libc/include/sys/times.h newlib/libc/include/sys/types.h newlib/libc/include/sys/unistd.h newlib/libc/include/sys/wait.h newlib/libc/locale/lmessages.c newlib/libc/locale/lmonetary.c newlib/libc/locale/nl_langinfo.c newlib/libc/machine/cr16/sys/asm.h newlib/libc/machine/epiphany/Makefile.am newlib/libc/machine/epiphany/Makefile.in newlib/libc/machine/epiphany/aclocal.m4 newlib/libc/machine/epiphany/configure newlib/libc/machine/epiphany/configure.in newlib/libc/machine/epiphany/machine/stdlib.h newlib/libc/machine/epiphany/setjmp.S newlib/libc/machine/rl78/Makefile.am newlib/libc/machine/rl78/Makefile.in newlib/libc/machine/rl78/aclocal.m4 newlib/libc/machine/rl78/configure newlib/libc/machine/rl78/configure.in newlib/libc/machine/rl78/setjmp.S newlib/libc/posix/collate.c newlib/libc/posix/engine.c newlib/libc/posix/glob.c newlib/libc/posix/popen.c newlib/libc/posix/readdir.c newlib/libc/posix/regcomp.c newlib/libc/posix/telldir.c newlib/libc/posix/wordexp.c newlib/libc/reent/mkdirr.c newlib/libc/reent/renamer.c newlib/libc/search/hash.c newlib/libc/search/hash_bigkey.c newlib/libc/search/hash_page.c newlib/libc/search/hcreate_r.c newlib/libc/stdio/asiprintf.c newlib/libc/stdio/asprintf.c newlib/libc/stdio/clearerr.c newlib/libc/stdio/fclose.c newlib/libc/stdio/fdopen.c newlib/libc/stdio/feof.c newlib/libc/stdio/ferror.c newlib/libc/stdio/fflush.c newlib/libc/stdio/fgetc.c newlib/libc/stdio/fgets.c newlib/libc/stdio/fgetwc.c newlib/libc/stdio/fgetws.c newlib/libc/stdio/fileno.c newlib/libc/stdio/findfp.c newlib/libc/stdio/fmemopen.c newlib/libc/stdio/fopen.c newlib/libc/stdio/fopencookie.c newlib/libc/stdio/fpurge.c newlib/libc/stdio/fputc.c newlib/libc/stdio/fputs.c newlib/libc/stdio/fputwc.c newlib/libc/stdio/fputws.c newlib/libc/stdio/fread.c newlib/libc/stdio/freopen.c newlib/libc/stdio/fseek.c newlib/libc/stdio/ftell.c newlib/libc/stdio/funopen.c newlib/libc/stdio/fwide.c newlib/libc/stdio/fwrite.c newlib/libc/stdio/getc.c newlib/libc/stdio/getdelim.c newlib/libc/stdio/gets.c newlib/libc/stdio/local.h newlib/libc/stdio/mktemp.c newlib/libc/stdio/open_memstream.c newlib/libc/stdio/putc.c newlib/libc/stdio/setvbuf.c newlib/libc/stdio/ungetc.c newlib/libc/stdio/ungetwc.c newlib/libc/stdio/vasiprintf.c newlib/libc/stdio/vasprintf.c newlib/libc/stdio/vfprintf.c newlib/libc/stdio/vfscanf.c newlib/libc/stdio/vfwprintf.c newlib/libc/stdio/vfwscanf.c newlib/libc/stdio64/fdopen64.c newlib/libc/stdio64/fopen64.c newlib/libc/stdio64/freopen64.c newlib/libc/stdio64/fseeko64.c newlib/libc/stdio64/ftello64.c newlib/libc/stdlib/mbtowc_r.c newlib/libc/stdlib/mprec.h newlib/libc/stdlib/wctomb_r.c newlib/libc/string/Makefile.am newlib/libc/string/Makefile.in newlib/libc/string/strcasestr.c newlib/libc/sys/epiphany/Makefile.am newlib/libc/sys/epiphany/Makefile.in newlib/libc/sys/epiphany/aclocal.m4 newlib/libc/sys/epiphany/configure newlib/libc/sys/epiphany/configure.in newlib/libc/sys/epiphany/e_printf.c newlib/libc/sys/rtems/crt0.c newlib/libc/sys/rtems/machine/_types.h newlib/libc/sys/sysnecv850/crt0.S newlib/libc/time/strptime.c newlib/libm/common/sf_round.c newlib/libm/math/e_atan2.c newlib/libm/math/e_exp.c newlib/libm/math/e_pow.c newlib/libm/math/e_rem_pio2.c newlib/libm/math/ef_exp.c newlib/libm/math/ef_pow.c newlib/libm/math/er_lgamma.c newlib/libm/math/erf_lgamma.c newlib/testsuite/newlib.stdio/stdio.exp newlib/testsuite/newlib.stdio/swprintf.c winsup/ChangeLog winsup/Makefile.common winsup/cygserver/ChangeLog winsup/cygserver/woutsup.h winsup/cygwin/ChangeLog winsup/cygwin/DevNotes winsup/cygwin/Makefile.in winsup/cygwin/advapi32.cc winsup/cygwin/child_info.h winsup/cygwin/configure.in winsup/cygwin/cygheap.cc winsup/cygwin/cygheap.h winsup/cygwin/cygserver_ipc.h winsup/cygwin/cygthread.cc winsup/cygwin/cygtls.cc winsup/cygwin/cygtls.h winsup/cygwin/cygwin.din winsup/cygwin/cygwin.sc winsup/cygwin/dcrt0.cc winsup/cygwin/devices.cc winsup/cygwin/devices.in winsup/cygwin/dll_init.cc winsup/cygwin/dtable.cc winsup/cygwin/dtable.h winsup/cygwin/exceptions.cc winsup/cygwin/external.cc winsup/cygwin/fhandler.cc winsup/cygwin/fhandler.h winsup/cygwin/fhandler_clipboard.cc winsup/cygwin/fhandler_console.cc winsup/cygwin/fhandler_disk_file.cc winsup/cygwin/fhandler_dsp.cc winsup/cygwin/fhandler_fifo.cc winsup/cygwin/fhandler_mem.cc winsup/cygwin/fhandler_procnet.cc winsup/cygwin/fhandler_registry.cc winsup/cygwin/fhandler_serial.cc winsup/cygwin/fhandler_socket.cc winsup/cygwin/fhandler_tape.cc winsup/cygwin/fhandler_termios.cc winsup/cygwin/fhandler_tty.cc winsup/cygwin/fhandler_virtual.cc winsup/cygwin/fhandler_windows.cc winsup/cygwin/flock.cc winsup/cygwin/gendef winsup/cygwin/gentls_offsets winsup/cygwin/globals.cc winsup/cygwin/heap.cc winsup/cygwin/hookapi.cc winsup/cygwin/include/cygwin/if.h winsup/cygwin/include/cygwin/in.h winsup/cygwin/include/cygwin/socket.h winsup/cygwin/include/cygwin/version.h winsup/cygwin/include/elf.h winsup/cygwin/include/inttypes.h winsup/cygwin/include/mntent.h winsup/cygwin/include/netdb.h winsup/cygwin/include/stdint.h winsup/cygwin/include/sys/elf32.h winsup/cygwin/include/sys/elf64.h winsup/cygwin/include/sys/elf_common.h winsup/cygwin/include/sys/elf_generic.h winsup/cygwin/include/sys/wait.h winsup/cygwin/kernel32.cc winsup/cygwin/lib/_cygwin_crt0_common.cc winsup/cygwin/lib/crt0.h winsup/cygwin/libc/inet_addr.c winsup/cygwin/libc/inet_network.c winsup/cygwin/libc/minires-os-if.c winsup/cygwin/libc/minires.h winsup/cygwin/libc/rcmd.cc winsup/cygwin/miscfuncs.cc winsup/cygwin/miscfuncs.h winsup/cygwin/mkvers.sh winsup/cygwin/mount.cc winsup/cygwin/mount.h winsup/cygwin/net.cc winsup/cygwin/ntdll.h winsup/cygwin/passwd.cc winsup/cygwin/path.cc winsup/cygwin/path.h winsup/cygwin/pinfo.cc winsup/cygwin/pipe.cc winsup/cygwin/poll.cc winsup/cygwin/posix.sgml winsup/cygwin/posix_ipc.cc winsup/cygwin/pseudo-reloc.cc winsup/cygwin/regex/regcomp.c winsup/cygwin/registry.cc winsup/cygwin/release/1.7.10 winsup/cygwin/release/1.7.11 winsup/cygwin/release/1.7.12 winsup/cygwin/release/1.7.13 winsup/cygwin/release/1.7.14 winsup/cygwin/release/1.7.15 winsup/cygwin/sched.cc winsup/cygwin/sec_helper.cc winsup/cygwin/security.cc winsup/cygwin/security.h winsup/cygwin/select.cc winsup/cygwin/select.h winsup/cygwin/shared.cc winsup/cygwin/signal.cc winsup/cygwin/sigproc.cc winsup/cygwin/sigproc.h winsup/cygwin/smallprint.cc winsup/cygwin/spawn.cc winsup/cygwin/strace.cc winsup/cygwin/strfuncs.cc winsup/cygwin/syscalls.cc winsup/cygwin/syslog.cc winsup/cygwin/thread.cc winsup/cygwin/thread.h winsup/cygwin/tlsoffsets.h winsup/cygwin/wait.cc winsup/cygwin/winbase.h winsup/cygwin/wincap.cc winsup/cygwin/winlean.h winsup/cygwin/winsup.h winsup/doc/ChangeLog winsup/doc/faq-programming.xml winsup/doc/faq-using.xml winsup/doc/new-features.sgml winsup/doc/pathnames.sgml winsup/doc/setup-net.sgml winsup/doc/using.sgml winsup/lsaauth/ChangeLog winsup/lsaauth/Makefile.in winsup/lsaauth/cyglsa.c winsup/lsaauth/cyglsa64.dll winsup/lsaauth/make-64bit-version-with-mingw-w64.sh winsup/mingw/ChangeLog winsup/mingw/configure winsup/mingw/configure.in winsup/mingw/include/_mingw.h winsup/mingw/include/excpt.h winsup/mingw/include/inttypes.h winsup/mingw/include/limits.h winsup/mingw/include/process.h winsup/mingw/include/stdint.h winsup/mingw/include/stdio.h winsup/mingw/include/stdlib.h winsup/mingw/include/sys/param.h winsup/mingw/include/wchar.h winsup/mingw/mingwex/Makefile.in winsup/mingw/mingwex/gdtoa/gd_qnan.h winsup/mingw/mingwex/tsearch.c winsup/utils/ChangeLog winsup/utils/Makefile.in winsup/utils/bloda.cc winsup/utils/cygcheck.cc winsup/utils/cygpath.cc winsup/utils/dump_setup.cc winsup/utils/dumper.cc winsup/utils/locale.cc winsup/utils/ps.cc winsup/utils/regtool.cc winsup/utils/strace.cc winsup/w32api/ChangeLog winsup/w32api/include/setupapi.h winsup/w32api/include/winbase.h winsup/w32api/include/windows.h winsup/w32api/include/winnt.h winsup/w32api/include/winsock.h winsup/w32api/include/winsock2.h winsup/w32api/include/winuser.h winsup/w32api/include/winver.h winsup/w32api/include/wtsapi32.h winsup/w32api/lib/Makefile.in winsup/w32api/lib/kernel32.def winsup/w32api/lib/wtsapi32.def Delete: config/asmcfi.m4 config/math.m4 config/mmap.m4 config/weakref.m4 include/gdb/gdb-index.h include/leb128.h newlib/libc/string/memrchr.c winsup/cygwin/cygwait.cc winsup/cygwin/cygwait.h winsup/cygwin/include/machine/elf.h winsup/cygwin/include/sys/elf.h winsup/mingw/mingwex/membarrier.c winsup/w32api/include/sdkddkver.h
Diffstat (limited to 'newlib/libc/posix')
-rw-r--r--newlib/libc/posix/collate.c19
-rw-r--r--newlib/libc/posix/engine.c14
-rw-r--r--newlib/libc/posix/glob.c4
-rw-r--r--newlib/libc/posix/popen.c5
-rw-r--r--newlib/libc/posix/readdir.c6
-rw-r--r--newlib/libc/posix/regcomp.c14
-rw-r--r--newlib/libc/posix/telldir.c3
-rw-r--r--newlib/libc/posix/wordexp.c3
8 files changed, 31 insertions, 37 deletions
diff --git a/newlib/libc/posix/collate.c b/newlib/libc/posix/collate.c
index 8bb04ef0d..6ee455001 100644
--- a/newlib/libc/posix/collate.c
+++ b/newlib/libc/posix/collate.c
@@ -117,26 +117,24 @@ __collate_substitute(s)
const u_char *s;
{
int dest_len, len, nlen;
- int delta = strlen((const char *) s);
+ int delta = strlen(s);
u_char *dest_str = NULL;
if(s == NULL || *s == '\0')
- return __collate_strdup((u_char *) "");
+ return __collate_strdup("");
delta += delta / 8;
- dest_str = (u_char *) malloc(dest_len = delta);
+ dest_str = malloc(dest_len = delta);
if(dest_str == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
len = 0;
while(*s) {
- nlen = len + strlen((const char *)
- __collate_substitute_table[*s]);
+ nlen = len + strlen(__collate_substitute_table[*s]);
if (dest_len <= nlen) {
dest_str = reallocf(dest_str, dest_len = nlen + delta);
if(dest_str == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
}
- strcpy((char *) dest_str + len,
- (const char *) __collate_substitute_table[*s++]);
+ strcpy(dest_str + len, __collate_substitute_table[*s++]);
len = nlen;
}
return dest_str;
@@ -152,9 +150,8 @@ __collate_lookup(t, len, prim, sec)
*len = 1;
*prim = *sec = 0;
for(p2 = __collate_chain_pri_table; p2->str[0]; p2++) {
- if(strncmp((const char *) t, (const char *) p2->str,
- strlen((const char *) p2->str)) == 0) {
- *len = strlen((const char *) p2->str);
+ if(strncmp(t, p2->str, strlen(p2->str)) == 0) {
+ *len = strlen(p2->str);
*prim = p2->prim;
*sec = p2->sec;
return;
@@ -168,7 +165,7 @@ u_char *
__collate_strdup(s)
u_char *s;
{
- u_char *t = (u_char *) strdup((const char *) s);
+ u_char *t = strdup(s);
if (t == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
diff --git a/newlib/libc/posix/engine.c b/newlib/libc/posix/engine.c
index 73ce45c11..8494b90a9 100644
--- a/newlib/libc/posix/engine.c
+++ b/newlib/libc/posix/engine.c
@@ -145,7 +145,7 @@ int eflags;
int i;
struct match mv;
struct match *m = &mv;
- char *dp = NULL;
+ char *dp;
const sopno gf = g->firststate+1; /* +1 for OEND */
const sopno gl = g->laststate;
char *start;
@@ -181,8 +181,8 @@ int eflags;
pp = mustlast;
for (dp = start+g->mlen-1; dp < stop;) {
/* Fast skip non-matches */
- while (dp < stop && charjump[(unsigned char) *dp])
- dp += charjump[(unsigned char) *dp];
+ while (dp < stop && charjump[*dp])
+ dp += charjump[*dp];
if (dp >= stop)
break;
@@ -198,7 +198,7 @@ int eflags;
/* Jump to next possible match */
mj = matchjump[pp - mustfirst];
- cj = charjump[(unsigned char) *dp];
+ cj = charjump[*dp];
dp += (cj < mj ? mj : cj);
pp = mustlast;
}
@@ -364,12 +364,6 @@ sopno stopst;
char *ssp; /* start of string matched by subsubRE */
char *sep; /* end of string matched by subsubRE */
char *oldssp; /* previous ssp */
-#if defined (__GNUC__) && \
- ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
-/* dp is only used for assertion testing which, for some reason, is not
- recognized as usage. */
-#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
-#endif
char *dp;
AT("diss", start, stop, startst, stopst);
diff --git a/newlib/libc/posix/glob.c b/newlib/libc/posix/glob.c
index 977a5a4f8..4dafe71aa 100644
--- a/newlib/libc/posix/glob.c
+++ b/newlib/libc/posix/glob.c
@@ -30,10 +30,6 @@
* SUCH DAMAGE.
*/
-#ifdef __CYGWIN__
-#define _NO_GLOB /* Cygwin provides its own glob. */
-#endif
-
#ifndef _NO_GLOB
#if defined(LIBC_SCCS) && !defined(lint)
diff --git a/newlib/libc/posix/popen.c b/newlib/libc/posix/popen.c
index faf72b6e3..38978c7aa 100644
--- a/newlib/libc/posix/popen.c
+++ b/newlib/libc/posix/popen.c
@@ -113,7 +113,7 @@ _DEFUN(popen, (program, type),
const char *program _AND
const char *type)
{
- struct pid *cur;
+ struct pid *cur, *last;
FILE *iop;
int pdes[2], pid;
@@ -159,7 +159,8 @@ _DEFUN(popen, (program, type),
(void)close(pdes[1]);
}
/* Close all fd's created by prior popen. */
- for (cur = pidlist; cur; cur = cur->next)
+ for (last = NULL, cur = pidlist; cur;
+ last = cur, cur = cur->next)
(void)close (fileno (cur->fp));
execl(_PATH_BSHELL, "sh", "-c", program, NULL);
_exit(127);
diff --git a/newlib/libc/posix/readdir.c b/newlib/libc/posix/readdir.c
index d3187e603..da07d5c00 100644
--- a/newlib/libc/posix/readdir.c
+++ b/newlib/libc/posix/readdir.c
@@ -75,6 +75,12 @@ _DEFUN(readdir, (dirp),
continue;
}
dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
+ if ((int)dp & 03) { /* bogus pointer check */
+#ifdef HAVE_DD_LOCK
+ __lock_release_recursive(dirp->dd_lock);
+#endif
+ return NULL;
+ }
if (dp->d_reclen <= 0 ||
dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc) {
#ifdef HAVE_DD_LOCK
diff --git a/newlib/libc/posix/regcomp.c b/newlib/libc/posix/regcomp.c
index bd90d2cdf..7f9e188a7 100644
--- a/newlib/libc/posix/regcomp.c
+++ b/newlib/libc/posix/regcomp.c
@@ -103,8 +103,8 @@ static void freeset(struct parse *p, cset *cs);
static int freezeset(struct parse *p, cset *cs);
static int firstch(struct parse *p, cset *cs);
static int nch(struct parse *p, cset *cs);
-#if used
static void mcadd(struct parse *p, cset *cs, char *cp);
+#if used
static void mcsub(cset *cs, char *cp);
static int mcin(cset *cs, char *cp);
static char *mcfind(cset *cs, char *cp);
@@ -308,8 +308,8 @@ struct parse *p;
int stop; /* character this ERE should end at */
{
char c;
- sopno prevback = 0;
- sopno prevfwd = 0;
+ sopno prevback;
+ sopno prevfwd;
sopno conc;
int first = 1; /* is this the first alternative? */
@@ -1333,7 +1333,6 @@ cset *cs;
return(n);
}
-#if used
/*
- mcadd - add a collating element to a cset
== static void mcadd(struct parse *p, cset *cs, \
@@ -1361,6 +1360,7 @@ char *cp;
cs->multis[cs->smultis - 1] = '\0';
}
+#if used
/*
- mcsub - subtract a collating element from a cset
== static void mcsub(cset *cs, char *cp);
@@ -1688,8 +1688,8 @@ struct parse *p;
struct re_guts *g;
{
sop *scan;
- sop *start = NULL;
- sop *newstart = NULL;
+ sop *start;
+ sop *newstart;
sopno newlen;
sop s;
char *cp;
@@ -1961,7 +1961,7 @@ struct re_guts *g;
* is the first one that would be matched).
*/
for (mindex = 0; mindex < g->mlen; mindex++)
- g->charjump[(unsigned char) g->must[mindex]] = g->mlen - mindex - 1;
+ g->charjump[g->must[mindex]] = g->mlen - mindex - 1;
}
/*
diff --git a/newlib/libc/posix/telldir.c b/newlib/libc/posix/telldir.c
index caac4890b..f2b1c79bd 100644
--- a/newlib/libc/posix/telldir.c
+++ b/newlib/libc/posix/telldir.c
@@ -69,10 +69,7 @@ struct ddloc {
static long dd_loccnt = 1; /* Index of entry for sequential readdir's */
static struct ddloc *dd_hash[NDIRHASH]; /* Hash list heads for ddlocs */
-
-#ifdef HAVE_DD_LOCK
__LOCK_INIT(static, dd_hash_lock);
-#endif
/*
* return a pointer into a directory
diff --git a/newlib/libc/posix/wordexp.c b/newlib/libc/posix/wordexp.c
index bfdb63fd0..b6c4a6d1f 100644
--- a/newlib/libc/posix/wordexp.c
+++ b/newlib/libc/posix/wordexp.c
@@ -37,6 +37,7 @@ wordexp(const char *words, wordexp_t *pwordexp, int flags)
char *iter;
pid_t pid;
int num_words = 0;
+ int num_bytes = 0;
int fd[2];
int fd_err[2];
int err = 0;
@@ -128,6 +129,8 @@ wordexp(const char *words, wordexp_t *pwordexp, int flags)
if((iter = strchr(tmp, '\n')))
*iter = '\0';
+ num_bytes = atoi(tmp) + pwordexp->we_wordc;
+
/* Get each expansion from the shell output, and store each in
pwordexp's we_wordv vector. */
for(i = 0; i < num_words; i++)