summaryrefslogtreecommitdiff
path: root/dmake/expand.c
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2009-10-01 09:16:17 +0000
committerVladimir Glazounov <vg@openoffice.org>2009-10-01 09:16:17 +0000
commit41faa44b020686a511625a4bb92a2edc3c63bf12 (patch)
tree9e2156864a4df7249f49bec576838f06dbe7ede4 /dmake/expand.c
parent0f8d27d4b47a2a96061aefa9f5ebf755794e3259 (diff)
CWS-TOOLING: integrate CWS cmcfixes62
2009-09-22 21:19:24 +0200 cmc r276365 : #i100000# that's the most plausible explanation, -D$(CVER) is needed by scp2 under windows 2009-09-19 16:10:36 +0200 cmc r276303 : #i100000# revert this for no partically good reason 2009-09-18 14:16:47 +0200 cmc r276279 : remove extra build depend 2009-09-18 08:56:15 +0200 cmc r276265 : #i100000# rerun autoconf 2009-09-17 14:59:38 +0200 cmc r276245 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@276192 (milestone: DEV300:m59) 2009-09-10 16:40:49 +0200 pl r276041 : fix warning 2009-09-10 11:34:55 +0200 pl r276026 : disable warning from system header 2009-09-09 19:30:45 +0200 pl r276013 : use osl_getAsciiFunctionSymbol instead of strange cast 2009-09-09 19:25:32 +0200 pl r276012 : add some casting hacks to make compile on solaris cc 2009-09-09 19:10:48 +0200 pl r276009 : add missing Configure option for solaris sparce 32bit 2009-09-09 18:37:05 +0200 pl r276008 : merge fix for #i104525# into moved code 2009-09-07 13:28:08 +0200 cmc r275894 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275801 (milestone: DEV300:m57) 2009-08-28 12:36:27 +0200 cmc r275523 : CWS-TOOLING: rebase CWS cmcfixes62 to trunk@275331 (milestone: DEV300:m56) 2009-08-26 12:56:18 +0200 cmc r275413 : #i104088# use the right headers in the right place 2009-08-25 17:07:50 +0200 cmc r275372 : #i104500# make openssl build on linux that isn't x86 or x86_64 2009-08-25 13:08:48 +0200 cmc r275347 : #i89237# pretty picswitch up 2009-08-25 10:58:09 +0200 cmc r275342 : #i104489# remove last unused code in starmath 2009-08-25 10:23:33 +0200 cmc r275338 : #i104088# clean up the define post-move 2009-08-24 13:46:57 +0200 cmc r275310 : #i104088# 64bit odbc api changes 2009-08-24 13:42:52 +0200 cmc r275309 : #i89237# unify linux platform mks under a generic parent 2009-08-24 13:19:52 +0200 cmc r275307 : #i104455# remove unused code 2009-08-24 13:10:56 +0200 cmc r275306 : #i104088# 64bit odbc api changes 2009-08-24 10:07:50 +0200 cmc r275293 : #i104306# move recent-used to vcl 2009-08-24 09:32:08 +0200 cmc r275291 : #i104306# move recent-used to vcl 2009-08-23 22:01:07 +0200 cmc r275286 : #i104306# move recently-used to vcl 2009-08-22 15:25:25 +0200 cmc r275285 : #i104088# 64bit odbc api changes 2009-08-21 17:52:40 +0200 cmc r275268 : #i104306# move recently-used to vcl 2009-08-21 14:38:26 +0200 cmc r275257 : #i104408 make these headers ready for c++0x 2009-08-21 14:20:19 +0200 cmc r275251 : #i104406# avoid overlapping strcpy to avoid bustage on recent toolchains 2009-08-21 14:14:25 +0200 cmc r275250 : #i104385# silence 64bit warnings
Diffstat (limited to 'dmake/expand.c')
-rw-r--r--dmake/expand.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/dmake/expand.c b/dmake/expand.c
index f3db8ed02fd3..b7232303177e 100644
--- a/dmake/expand.c
+++ b/dmake/expand.c
@@ -230,6 +230,7 @@ Map_esc( tok )/*
char *tok;
{
if( strchr( "\"\\vantbrf01234567", tok[1] ) ) {
+ size_t len;
switch( tok[1] ) {
case 'a' : *tok = 0x07; break;
case 'b' : *tok = '\b'; break;
@@ -246,13 +247,15 @@ char *tok;
register int j = 0;
for( ; i<2 && isdigit(tok[2]); i++ ) {
j = (j << 3) + (tok[1] - '0');
- strcpy( tok+1, tok+2 );
+ len = strlen(tok+2)+1;
+ memmove( tok+1, tok+2, len );
}
j = (j << 3) + (tok[1] - '0');
*tok = j;
}
}
- strcpy( tok+1, tok+2 );
+ len = strlen(tok+2)+1;
+ memmove( tok+1, tok+2, len );
}
}
@@ -365,7 +368,8 @@ char *src;
if( (e = Basename(s)) != s) {
if( !(mod & DIRECTORY_FLAG) ) {
/* Move the basename to the start. */
- strcpy(s, e);
+ size_t len = strlen(e)+1;
+ memmove(s, e, len);
}
else
s = e;
@@ -382,7 +386,8 @@ char *src;
if( !(mod & FILE_FLAG) ) {
/* Move the suffix to the start. */
- strcpy( s, e );
+ size_t len = strlen(e)+1;
+ memmove(s, e, len);
}
else
s = e;
@@ -725,8 +730,10 @@ int doexpand; /* If TRUE enables macro expansion */
done = !lev;
break;
} else {
+ size_t len;
s[1] = ' ';
- strcpy( s, s+1 );
+ len = strlen(s+1)+1;
+ memmove( s, s+1, len );
}
/*FALLTHRU*/
case ' ':
@@ -835,8 +842,10 @@ int doexpand; /* If TRUE enables macro expansion */
* converted them to a real space. Let's verify this. */
for( p=s; *p && *p != edelim && *p; p++ ) {
if( p[0] == '\\' && p[1] == '\n' ) {
+ size_t len;
p[1] = ' ';
- strcpy( p, p+1 );
+ len = strlen(p+1)+1;
+ memmove( p, p+1, len );
}
}
if( !*p )
@@ -1120,7 +1129,10 @@ int *flag;
*flag = 1;
res = Expand( start );
- if( (t = DmStrSpn( res, " \t" )) != res ) strcpy( res, t );
+ if( (t = DmStrSpn( res, " \t" )) != res ) {
+ size_t len = strlen(t)+1;
+ memmove( res, t, len );
+ }
}
FREE( start ); /* this is ok! start is assigned a DmSubStr above */