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:
authorChristopher Faylor <me@cgf.cx>2000-10-07 22:12:11 +0400
committerChristopher Faylor <me@cgf.cx>2000-10-07 22:12:11 +0400
commit57bf29e8258b921e632666ff17081805a5a62953 (patch)
treedc462b87bb49569be84b7f68ca9be56119f4db56 /winsup/cygwin/strace.cc
parent4ea34a68506bcd5233be1a3bfca9b81b5f9234b2 (diff)
* fhandler.h (fhandler_base): Remove obsolete _rpos and _rsize elements.
* fhandler.cc (fhandler_base::open): Ditto. * fhandler.cc (fhandler_base::fhandler_base): Ditto. (fhandler_base::read): Ditto. Add more debugging output. Don't issue a \r when \r\n detected. * pipe.cc (make_pipe): Streamline slightly. Make debug output more interesting. * strace.cc (strace::vsprintf): Use __progname where appropriate to distinguish strace output when exec'ing.
Diffstat (limited to 'winsup/cygwin/strace.cc')
-rw-r--r--winsup/cygwin/strace.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/winsup/cygwin/strace.cc b/winsup/cygwin/strace.cc
index 60d81e05b..92494a472 100644
--- a/winsup/cygwin/strace.cc
+++ b/winsup/cygwin/strace.cc
@@ -96,6 +96,8 @@ getfunc (char *in_dst, const char *func)
return dst - in_dst;
}
+extern "C" char *__progname;
+
/* sprintf analog for use by output routines. */
int
strace::vsprntf (char *buf, const char *func, const char *infmt, va_list ap)
@@ -105,6 +107,7 @@ strace::vsprntf (char *buf, const char *func, const char *infmt, va_list ap)
static int nonewline = FALSE;
DWORD err = GetLastError ();
const char *tn = threadname (0);
+ char *pn = __progname ?: myself->progname;
int microsec = microseconds ();
lmicrosec = microsec;
@@ -117,11 +120,13 @@ strace::vsprntf (char *buf, const char *func, const char *infmt, va_list ap)
count = 0;
else
{
- char *p, progname[sizeof (myself->progname)];
- if ((p = strrchr (myself->progname, '\\')) != NULL)
+ char *p, progname[MAX_PATH + 1];
+ if ((p = strrchr (pn, '\\')) != NULL)
+ p++;
+ else if ((p = strrchr (pn, '/')) != NULL)
p++;
else
- p = myself->progname;
+ p = pn;
strcpy (progname, p);
if ((p = strrchr (progname, '.')) != NULL)
*p = '\000';