You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(2) |
Feb
(9) |
Mar
(6) |
Apr
(8) |
May
(7) |
Jun
(49) |
Jul
(36) |
Aug
(8) |
Sep
(4) |
Oct
(11) |
Nov
(3) |
Dec
|
| 2002 |
Jan
(8) |
Feb
|
Mar
(7) |
Apr
(2) |
May
|
Jun
(3) |
Jul
(9) |
Aug
(2) |
Sep
|
Oct
(3) |
Nov
|
Dec
(2) |
| 2003 |
Jan
(6) |
Feb
|
Mar
(2) |
Apr
(3) |
May
|
Jun
(5) |
Jul
|
Aug
(6) |
Sep
(6) |
Oct
(2) |
Nov
|
Dec
|
| 2004 |
Jan
(2) |
Feb
(12) |
Mar
|
Apr
(10) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(4) |
| 2005 |
Jan
(4) |
Feb
(6) |
Mar
(3) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
| 2006 |
Jan
|
Feb
(2) |
Mar
|
Apr
(12) |
May
(2) |
Jun
|
Jul
(6) |
Aug
(4) |
Sep
(11) |
Oct
(10) |
Nov
|
Dec
|
| 2007 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2008 |
Jan
|
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
|
Jun
(6) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2010 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
|
3
|
4
|
5
|
6
|
7
|
8
(2) |
9
|
|
10
|
11
|
12
|
13
(3) |
14
|
15
|
16
(2) |
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
|
31
|
|
|
|
|
|
|
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-16 15:20:47
|
Update of /cvsroot/cscope/cscope In directory usw-pr-cvs1:/tmp/cvs-serv22489 Modified Files: ChangeLog Log Message: Updated. Index: ChangeLog =================================================================== RCS file: /cvsroot/cscope/cscope/ChangeLog,v retrieving revision 1.112 retrieving revision 1.113 diff -C2 -r1.112 -r1.113 *** ChangeLog 13 Mar 2002 20:39:13 -0000 1.112 --- ChangeLog 16 Mar 2002 15:20:44 -0000 1.113 *************** *** 1,2 **** --- 1,7 ---- + (2002/03/16 - broeker) Fix namelist handling bug: ./ in paths would cause + search for next name to fail (SF bug #529618). + -I/-p and their argument no longer have to be in + one line inside the namelist file, and -I pathname + can now be quote-escaped. (2002/03/13 - broeker) Add AC_PREREQ() call to configure.in. Enables Cygwin automagic hack to call the right autoconf for us. |
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-16 15:20:31
|
Update of /cvsroot/cscope/cscope/src
In directory usw-pr-cvs1:/tmp/cvs-serv22328
Modified Files:
dir.c
Log Message:
Some more namelist file parsing bugs fixed:
1) (SF bug #529618): ./ in filenames caused cscope to search for a file '.c',
because some subroutine changed the content of makefilelists()'s variable
'path'.
2) The path argument to -I in a namelist file couldn't be quoted, and was
read directly via fscanf() --- silly oversight by me.
3) -p/-I and their argument can be on separate lines, now.
Index: dir.c
===================================================================
RCS file: /cvsroot/cscope/cscope/src/dir.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** dir.c 8 Mar 2002 15:34:05 -0000 1.16
--- dir.c 16 Mar 2002 15:20:27 -0000 1.17
***************
*** 311,314 ****
--- 311,317 ----
while (fgets(line, 10*PATHLEN, names) != NULL) {
char *point_in_line = line + (strlen(line) - 1);
+ size_t length_of_name = 0;
+ int unfinished_option = 0;
+ BOOL done = NO;
/* Kill away \n left at end of fgets()'d string: */
***************
*** 317,324 ****
/* Parse whitespace-terminated strings in line: */
! for (point_in_line = line;
! sscanf(point_in_line, "%s", path) == 1;
! point_in_line += strlen(path)) {
if (*path == '-') { /* if an option */
i = path[1];
switch (i) {
--- 320,339 ----
/* Parse whitespace-terminated strings in line: */
! point_in_line = line;
! while (sscanf(point_in_line, "%s", path) == 1) {
! /* Have to store this length --- inviewpath() will
! * modify path, later! */
! length_of_name = strlen(path);
!
if (*path == '-') { /* if an option */
+ if (unfinished_option) {
+ /* Can't have another option directly after an
+ * -I or -p option with no name after it! */
+ (void) fprintf(stderr, "\
+ cscope: Syntax error in namelist file %s: unfinished -I or -p option\n",
+ namefile);
+ unfinished_option = 0;
+ }
+
i = path[1];
switch (i) {
***************
*** 339,360 ****
s = path + 2; /* for "-Ipath" */
if (*s == '\0') { /* if "-I path" */
! (void) fscanf(names, "%s", path);
! s = path;
! }
! switch (i) {
! case 'I': /* #include file directory */
! if (firstbuild == YES) {
! shellpath(dir, sizeof(dir), s); /* expand $ and ~ */
! includedir(dir);
! }
! break;
! case 'p': /* file path components to display */
! if (*s < '0' || *s > '9') {
! (void) fprintf(stderr, "cscope: -p option in file %s: missing or invalid numeric value\n",
! namefile);
! }
! dispcomponents = atoi(s);
! break;
}
break;
default:
--- 354,391 ----
s = path + 2; /* for "-Ipath" */
if (*s == '\0') { /* if "-I path" */
! unfinished_option = i;
! break;
! }
!
! /* this code block used several times in here
! * --> make it a macro to avoid unnecessary
! * duplication */
! #define HANDLE_OPTION_ARGUMENT(i, s) \
! switch (i) { \
! case 'I': /* #include file directory */ \
! if (firstbuild == YES) { \
! /* expand $ and ~ */ \
! shellpath(dir, sizeof(dir), (s)); \
! includedir(dir); \
! } \
! unfinished_option = 0; \
! done = YES; \
! break; \
! case 'p': /* file path components to display */ \
! if (*(s) < '0' || *(s) > '9') { \
! (void) fprintf(stderr, \
! "cscope: -p option in file %s: missing or invalid numeric value\n", \
! namefile); \
! } \
! dispcomponents = atoi(s); \
! unfinished_option = 0; \
! done = YES; \
! break; \
! default: \
! done = NO; \
}
+
+ /* ... and now call it for the first time */
+ HANDLE_OPTION_ARGUMENT(i, s)
break;
default:
***************
*** 362,367 ****
namefile);
}
! }
! else if (*path == '"') {
/* handle quoted filenames... */
size_t in = 1, out = 0;
--- 393,397 ----
namefile);
}
! } else if (*path == '"') {
/* handle quoted filenames... */
size_t in = 1, out = 0;
***************
*** 391,411 ****
newpath[out]='\0';
}
! if ((s = inviewpath(newpath)) != NULL) {
! addsrcfile(s);
}
! else {
! (void) fprintf(stderr, "cscope: cannot find file %s\n",
! newpath);
! errorsfound = YES;
}
- } /* if (quoted entry) */
- else if ((s = inviewpath(path)) != NULL) {
- addsrcfile(s);
- }
- else {
- (void) fprintf(stderr, "cscope: cannot find file %s\n",
- path);
- errorsfound = YES;
}
}
}
--- 421,457 ----
newpath[out]='\0';
}
!
! /* If an -I or -p arguments was missing before,
! * treat this name as the argument: */
! HANDLE_OPTION_ARGUMENT(unfinished_option, newpath);
! if (! done) {
! if ((s = inviewpath(newpath)) != NULL) {
! addsrcfile(s);
! } else {
! (void) fprintf(stderr,
! "cscope: cannot find file %s\n",
! newpath);
! errorsfound = YES;
! }
}
! } else {
! /* ... so this is an ordinary file name, unquoted */
!
! /* If an -I or -p arguments was missing before,
! * treat this name as the argument: */
! HANDLE_OPTION_ARGUMENT(unfinished_option, path);
! if (!done) {
! if ((s = inviewpath(path)) != NULL) {
! addsrcfile(s);
! } else {
! (void) fprintf(stderr, "cscope: cannot find file %s\n",
! path);
! errorsfound = YES;
! }
}
}
+ point_in_line += length_of_name;
+ while (isspace((unsigned char) *point_in_line))
+ point_in_line ++;
}
}
|
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-13 20:39:19
|
Update of /cvsroot/cscope/cscope
In directory usw-pr-cvs1:/tmp/cvs-serv9016
Modified Files:
ChangeLog configure.in configure
Log Message:
Call AC_PREREQ in configure.in to help Cygwin build correctly
Index: ChangeLog
===================================================================
RCS file: /cvsroot/cscope/cscope/ChangeLog,v
retrieving revision 1.111
retrieving revision 1.112
diff -C2 -r1.111 -r1.112
*** ChangeLog 13 Mar 2002 18:54:40 -0000 1.111
--- ChangeLog 13 Mar 2002 20:39:13 -0000 1.112
***************
*** 1,2 ****
--- 1,4 ----
+ (2002/03/13 - broeker) Add AC_PREREQ() call to configure.in. Enables Cygwin
+ automagic hack to call the right autoconf for us.
(2002/03/13 - broeker) Replace all references to manpage 'regcmp(3X)' in
messages and comments by regcomp(3), which is what
Index: configure.in
===================================================================
RCS file: /cvsroot/cscope/cscope/configure.in,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -r1.22 -r1.23
*** configure.in 4 Jan 2002 12:11:50 -0000 1.22
--- configure.in 13 Mar 2002 20:39:13 -0000 1.23
***************
*** 3,6 ****
--- 3,7 ----
AM_INIT_AUTOMAKE(cscope, 16.0a)
AM_CONFIG_HEADER(config.h:config.h.in)
+ AC_PREREQ(2.13)
AC_CANONICAL_HOST
Index: configure
===================================================================
RCS file: /cvsroot/cscope/cscope/configure,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** configure 4 Jan 2002 12:11:50 -0000 1.16
--- configure 13 Mar 2002 20:39:13 -0000 1.17
***************
*** 798,801 ****
--- 798,802 ----
+
# Make sure we can run config.sub.
if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
***************
*** 804,808 ****
echo $ac_n "checking host system type""... $ac_c" 1>&6
[...1071 lines suppressed...]
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
! #line 2785 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
***************
*** 2804,2808 ****
; return 0; }
EOF
! if { (eval echo configure:2807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
--- 2805,2809 ----
; return 0; }
EOF
! if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
|
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-13 18:54:43
|
Update of /cvsroot/cscope/cscope/src
In directory usw-pr-cvs1:/tmp/cvs-serv12428/src
Modified Files:
find.c help.c display.c
Log Message:
Correct references to 'regcmp(3X)' manpage to point to 'regcomp(3)' instead
Index: find.c
===================================================================
RCS file: /cvsroot/cscope/cscope/src/find.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** find.c 9 Jul 2001 14:00:25 -0000 1.13
--- find.c 13 Mar 2002 18:54:40 -0000 1.14
***************
*** 659,663 ****
}
/* must be an exact match */
! /* note: regcmp doesn't recognize ^*keypad$ as a syntax error
unless it is given as a single arg */
(void) sprintf(buf, "^%s$", s);
--- 659,663 ----
}
/* must be an exact match */
! /* note: regcomp doesn't recognize ^*keypad$ as a syntax error
unless it is given as a single arg */
(void) sprintf(buf, "^%s$", s);
Index: help.c
===================================================================
RCS file: /cvsroot/cscope/cscope/src/help.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** help.c 15 Jun 2001 11:01:14 -0000 1.4
--- help.c 13 Mar 2002 18:54:40 -0000 1.5
***************
*** 62,66 ****
*tp++ = "Point with the mouse and click button 1 to move to the desired input field,\n";
*tp++ = "type the pattern to search for, and then press the RETURN key. For the first 4\n";
! *tp++ = "and last 2 input fields, the pattern can be a regcmp(3X) regular expression.\n";
*tp++ = "If the search is successful, you can edit the file containing a displayed line\n";
*tp++ = "by pointing with the mouse and clicking button 1.\n";
--- 62,66 ----
*tp++ = "Point with the mouse and click button 1 to move to the desired input field,\n";
*tp++ = "type the pattern to search for, and then press the RETURN key. For the first 4\n";
! *tp++ = "and last 2 input fields, the pattern can be a regcomp(3) regular expression.\n";
*tp++ = "If the search is successful, you can edit the file containing a displayed line\n";
*tp++ = "by pointing with the mouse and clicking button 1.\n";
***************
*** 70,74 ****
*tp++ = "Press the RETURN key repeatedly to move to the desired input field, type the\n";
*tp++ = "pattern to search for, and then press the RETURN key. For the first 4 and\n";
! *tp++ = "last 2 input fields, the pattern can be a regcmp(3X) regular expression.\n";
*tp++ = "If the search is successful, you can use these single-character commands:\n\n";
*tp++ = "0-9a-zA-Z\tEdit the file containing the displayed line.\n";
--- 70,74 ----
*tp++ = "Press the RETURN key repeatedly to move to the desired input field, type the\n";
*tp++ = "pattern to search for, and then press the RETURN key. For the first 4 and\n";
! *tp++ = "last 2 input fields, the pattern can be a regcomp(3) regular expression.\n";
*tp++ = "If the search is successful, you can use these single-character commands:\n\n";
*tp++ = "0-9a-zA-Z\tEdit the file containing the displayed line.\n";
Index: display.c
===================================================================
RCS file: /cvsroot/cscope/cscope/src/display.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** display.c 19 Oct 2001 15:32:27 -0000 1.19
--- display.c 13 Mar 2002 18:54:40 -0000 1.20
***************
*** 483,487 ****
}
else if (rc == REGCMPERROR) {
! (void) sprintf(lastmsg, "Error in this regcmp(3X) regular expression: %s",
pattern);
--- 483,487 ----
}
else if (rc == REGCMPERROR) {
! (void) sprintf(lastmsg, "Error in this regcomp(3) regular expression: %s",
pattern);
|
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-13 18:54:43
|
Update of /cvsroot/cscope/cscope In directory usw-pr-cvs1:/tmp/cvs-serv12428 Modified Files: ChangeLog Log Message: Correct references to 'regcmp(3X)' manpage to point to 'regcomp(3)' instead Index: ChangeLog =================================================================== RCS file: /cvsroot/cscope/cscope/ChangeLog,v retrieving revision 1.110 retrieving revision 1.111 diff -C2 -r1.110 -r1.111 *** ChangeLog 8 Mar 2002 15:34:06 -0000 1.110 --- ChangeLog 13 Mar 2002 18:54:40 -0000 1.111 *************** *** 1,2 **** --- 1,5 ---- + (2002/03/13 - broeker) Replace all references to manpage 'regcmp(3X)' in + messages and comments by regcomp(3), which is what + cscope actually uses. (2002/03/08 - broeker) Fix completely broken handling of filenames with blanks in namelist files. Use fgets + sscanf, not fscanf, and |
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-08 15:34:10
|
Update of /cvsroot/cscope/cscope In directory usw-pr-cvs1:/tmp/cvs-serv27769 Modified Files: ChangeLog Log Message: Revised handling of quotes in namelist files Index: ChangeLog =================================================================== RCS file: /cvsroot/cscope/cscope/ChangeLog,v retrieving revision 1.109 retrieving revision 1.110 diff -C2 -r1.109 -r1.110 *** ChangeLog 4 Jan 2002 12:11:50 -0000 1.109 --- ChangeLog 8 Mar 2002 15:34:06 -0000 1.110 *************** *** 1,2 **** --- 1,5 ---- + (2002/03/08 - broeker) Fix completely broken handling of filenames with blanks + in namelist files. Use fgets + sscanf, not fscanf, and + don't split at whitespace inside "" quotes. (2001/01/04 - broeker) Survive Cygwin "binmode" mounted filesystems by explicitly forcing text mode for source files. |
|
From: Hans-Bernhard B. <br...@us...> - 2002-03-08 15:34:09
|
Update of /cvsroot/cscope/cscope/src
In directory usw-pr-cvs1:/tmp/cvs-serv27769/src
Modified Files:
dir.c
Log Message:
Revised handling of quotes in namelist files
Index: dir.c
===================================================================
RCS file: /cvsroot/cscope/cscope/src/dir.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** dir.c 2 Jan 2002 17:25:48 -0000 1.15
--- dir.c 8 Mar 2002 15:34:05 -0000 1.16
***************
*** 270,273 ****
--- 270,274 ----
char dir[PATHLEN + 1];
char path[PATHLEN + 1];
+ char line[PATHLEN * 10];
char *file;
char *s;
***************
*** 308,394 ****
}
/* get the names in the file */
! while (fscanf(names, "%s", path) == 1) {
! if (*path == '-') { /* if an option */
! i = path[1];
! switch (i) {
! case 'c': /* ASCII characters only in crossref */
! compress = NO;
! break;
! case 'k': /* ignore DFLT_INCDIR */
! kernelmode = YES;
! break;
! case 'q': /* quick search */
! invertedindex = YES;
! break;
! case 'T': /* truncate symbols to 8 characters */
! trun_syms = YES;
! break;
! case 'I': /* #include file directory */
! case 'p': /* file path components to display */
! s = path + 2; /* for "-Ipath" */
! if (*s == '\0') { /* if "-I path" */
! (void) fscanf(names, "%s", path);
! s = path;
! }
switch (i) {
! case 'I': /* #include file directory */
! if (firstbuild == YES) {
! shellpath(dir, sizeof(dir), s); /* expand $ and ~ */
! includedir(dir);
! }
break;
case 'p': /* file path components to display */
! if (*s < '0' || *s > '9') {
! (void) fprintf(stderr, "cscope: -p option in file %s: missing or invalid numeric value\n",
! namefile);
}
- dispcomponents = atoi(s);
break;
}
- break;
- default:
- (void) fprintf(stderr, "cscope: only -I, -c, -k, -p, and -T options can be in file %s\n",
- namefile);
}
! }
! else if (*path == '"') {
! /* handle quoted filenames... */
! size_t in = 1, out = 0;
! char *newpath = mymalloc(PATHLEN + 1);
! while (in < PATHLEN && path[in] != '\0') {
! if (path[in] == '"') {
! newpath[out] = '\0';
! break; /* found end of quoted string */
}
! else if (path[in] == '\\' && in < PATHLEN - 1
! && (path[in + 1]== '"' || path[in + 1] == '\\')) {
! /* un-escape \" or \\ sequence */
! newpath[out++] = path[in + 1];
! in += 2;
}
else {
! newpath[out++] = path[in++];
}
! } /* while */
! if (i >= PATHLEN) { /* safeguard against almost-overflow */
! newpath[out]='\0';
! }
! if ((s = inviewpath(newpath)) != NULL) {
addsrcfile(s);
}
else {
(void) fprintf(stderr, "cscope: cannot find file %s\n",
! newpath);
errorsfound = YES;
}
- } /* if (quoted entry) */
- else if ((s = inviewpath(path)) != NULL) {
- addsrcfile(s);
- }
- else {
- (void) fprintf(stderr, "cscope: cannot find file %s\n",
- path);
- errorsfound = YES;
}
}
--- 309,411 ----
}
/* get the names in the file */
! while (fgets(line, 10*PATHLEN, names) != NULL) {
! char *point_in_line = line + (strlen(line) - 1);
!
! /* Kill away \n left at end of fgets()'d string: */
! if (*point_in_line == '\n')
! *point_in_line = '\0';
!
! /* Parse whitespace-terminated strings in line: */
! for (point_in_line = line;
! sscanf(point_in_line, "%s", path) == 1;
! point_in_line += strlen(path)) {
! if (*path == '-') { /* if an option */
! i = path[1];
switch (i) {
! case 'c': /* ASCII characters only in crossref */
! compress = NO;
break;
+ case 'k': /* ignore DFLT_INCDIR */
+ kernelmode = YES;
+ break;
+ case 'q': /* quick search */
+ invertedindex = YES;
+ break;
+ case 'T': /* truncate symbols to 8 characters */
+ trun_syms = YES;
+ break;
+ case 'I': /* #include file directory */
case 'p': /* file path components to display */
! s = path + 2; /* for "-Ipath" */
! if (*s == '\0') { /* if "-I path" */
! (void) fscanf(names, "%s", path);
! s = path;
! }
! switch (i) {
! case 'I': /* #include file directory */
! if (firstbuild == YES) {
! shellpath(dir, sizeof(dir), s); /* expand $ and ~ */
! includedir(dir);
! }
! break;
! case 'p': /* file path components to display */
! if (*s < '0' || *s > '9') {
! (void) fprintf(stderr, "cscope: -p option in file %s: missing or invalid numeric value\n",
! namefile);
! }
! dispcomponents = atoi(s);
! break;
}
break;
+ default:
+ (void) fprintf(stderr, "cscope: only -I, -c, -k, -p, and -T options can be in file %s\n",
+ namefile);
}
}
! else if (*path == '"') {
! /* handle quoted filenames... */
! size_t in = 1, out = 0;
! char *newpath = mymalloc(PATHLEN + 1);
! while (in < PATHLEN && point_in_line[in] != '\0') {
! if (point_in_line[in] == '"') {
! newpath[out] = '\0';
! /* Make sure we skip over the part just read */
! point_in_line += in + 1;
! /* ... to deactive step by strlen() path at end
! * of loop */
! path[0]='\0';
! break; /* found end of quoted string */
! }
! else if (point_in_line[in] == '\\' && in < PATHLEN - 1
! && (point_in_line[in + 1]== '"' || point_in_line[in + 1] == '\\')) {
! /* un-escape \" or \\ sequence */
! newpath[out++] = point_in_line[in + 1];
! in += 2;
! }
! else {
! newpath[out++] = point_in_line[in++];
! }
! } /* while */
! if (in >= PATHLEN) { /* safeguard against almost-overflow */
! newpath[out]='\0';
}
! if ((s = inviewpath(newpath)) != NULL) {
! addsrcfile(s);
}
else {
! (void) fprintf(stderr, "cscope: cannot find file %s\n",
! newpath);
! errorsfound = YES;
}
! } /* if (quoted entry) */
! else if ((s = inviewpath(path)) != NULL) {
addsrcfile(s);
}
else {
(void) fprintf(stderr, "cscope: cannot find file %s\n",
! path);
errorsfound = YES;
}
}
}
|