diff options
| author | Jan Djärv | 2009-11-23 09:51:06 +0000 |
|---|---|---|
| committer | Jan Djärv | 2009-11-23 09:51:06 +0000 |
| commit | 46f3381adef956e0e3d83e8950af6cba8420f9f5 (patch) | |
| tree | 8f95e6ec42493f9b87a7dcf78a286401cd1e70f0 /lib-src | |
| parent | 581e51e8918b3ba9b58e67768a1de39ce5f1cbd3 (diff) | |
| download | emacs-46f3381adef956e0e3d83e8950af6cba8420f9f5.tar.gz emacs-46f3381adef956e0e3d83e8950af6cba8420f9f5.zip | |
* etags.c (absolute_filename): Use memove if we have it for overlapping copy.
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/ChangeLog | 5 | ||||
| -rw-r--r-- | lib-src/etags.c | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index b72d928dc6c..e4a1a3ea576 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2009-11-23 Tobias Ringström <tobias@ringis.se> (tiny change) | ||
| 2 | |||
| 3 | * etags.c (absolute_filename): Use memove if we have it for | ||
| 4 | overlapping copy. | ||
| 5 | |||
| 1 | 2009-11-04 Dan Nicolaescu <dann@ics.uci.edu> | 6 | 2009-11-04 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 7 | ||
| 3 | * make-docfile.c (scan_lisp_file): Also look for `defvaralias'. | 8 | * make-docfile.c (scan_lisp_file): Also look for `defvaralias'. |
diff --git a/lib-src/etags.c b/lib-src/etags.c index 0fbade822d5..6fce4529855 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -6695,13 +6695,22 @@ absolute_filename (file, dir) | |||
| 6695 | else if (cp[0] != '/') | 6695 | else if (cp[0] != '/') |
| 6696 | cp = slashp; | 6696 | cp = slashp; |
| 6697 | #endif | 6697 | #endif |
| 6698 | #ifdef HAVE_MEMMOVE | ||
| 6699 | memmove (cp, slashp + 3, strlen (slashp + 2)); | ||
| 6700 | #else | ||
| 6701 | /* Overlapping copy isn't really okay */ | ||
| 6698 | strcpy (cp, slashp + 3); | 6702 | strcpy (cp, slashp + 3); |
| 6703 | #endif | ||
| 6699 | slashp = cp; | 6704 | slashp = cp; |
| 6700 | continue; | 6705 | continue; |
| 6701 | } | 6706 | } |
| 6702 | else if (slashp[2] == '/' || slashp[2] == '\0') | 6707 | else if (slashp[2] == '/' || slashp[2] == '\0') |
| 6703 | { | 6708 | { |
| 6704 | strcpy (slashp, slashp + 2); | 6709 | #ifdef HAVE_MEMMOVE |
| 6710 | memmove (slashp, slashp + 2, strlen (slashp + 1)); | ||
| 6711 | #else | ||
| 6712 | strcpy (slashp, slashp + 2); | ||
| 6713 | #endif | ||
| 6705 | continue; | 6714 | continue; |
| 6706 | } | 6715 | } |
| 6707 | } | 6716 | } |