summaryrefslogtreecommitdiff
path: root/dmake
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
commitea67823be5d2c74207881b5a68448b5f07e04c4f (patch)
treef61e8261a7fc4e9048d0391aa0d45ed2c3e12543 /dmake
parent6f37ce5279c0ef6514c2ed7bf862acb87e741ce8 (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')
-rw-r--r--dmake/dag.c9
-rw-r--r--dmake/expand.c26
-rw-r--r--dmake/getinp.c6
-rw-r--r--dmake/make.c15
-rw-r--r--dmake/path.c10
-rw-r--r--dmake/rulparse.c5
6 files changed, 49 insertions, 22 deletions
diff --git a/dmake/dag.c b/dmake/dag.c
index cee947503..a1e114576 100644
--- a/dmake/dag.c
+++ b/dmake/dag.c
@@ -369,14 +369,17 @@ int flags; /* initial ht_flags */
/* strip out any \<nl> combinations where \ is the current
* CONTINUATION char */
for(p=q; (p=strchr(p,CONTINUATION_CHAR))!=NIL(char); )
- if( p[1] == '\n' )
- strcpy( p, p+2 );
+ if( p[1] == '\n' ) {
+ size_t len = strlen(p+2)+1;
+ memmove ( p, p+2, len );
+ }
else
p++;
p = DmStrSpn(q ," \t"); /* Strip white space before ... */
if( p != q ) {
- strcpy( q, p);
+ size_t len = strlen(p)+1;
+ memmove( q, p, len );
p = q;
}
diff --git a/dmake/expand.c b/dmake/expand.c
index a2aaa8b7e..6f722120c 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 */
diff --git a/dmake/getinp.c b/dmake/getinp.c
index f55353b72..c2a0c8086 100644
--- a/dmake/getinp.c
+++ b/dmake/getinp.c
@@ -169,7 +169,8 @@ do_again:
* text lines on input. The maximum size of this is governened by
* Buffer_size */
if( q != p && q[-1] == CONTINUATION_CHAR ) {
- strcpy( q, q+1 );
+ size_t len = strlen(q+1)+1;
+ memmove( q, q+1, len );
q--;
cont = FALSE;
}
@@ -290,7 +291,8 @@ int keep;
while( (c = strchr(c, COMMENT_CHAR)) != NIL(char) ) {
if( Comment || State == NORMAL_SCAN )
if( c != str && c[-1] == ESCAPE_CHAR ) {
- strcpy( c-1, c ); /* copy it left, due to \# */
+ size_t len = strlen(c)+1;
+ memmove( c-1, c, len ); /* copy it left, due to \# */
if( pend ) (*pend)--; /* shift tail pointer left */
}
else {
diff --git a/dmake/make.c b/dmake/make.c
index 0dfad3b34..edc5dc473 100644
--- a/dmake/make.c
+++ b/dmake/make.c
@@ -1352,8 +1352,10 @@ CELLPTR cp;
* Nothing in Expand() should be able to change dynamic macros. */
cmnd = Expand( rp->st_string );
- if( new_attr && (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd )
- strcpy(cmnd,p);
+ if( new_attr && (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) {
+ size_t len = strlen(p)+1;
+ memmove(cmnd,p,len);
+ }
/* COMMAND macro is set to "$(CMNDNAME) $(CMNDARGS)" by default, it is
* possible for the user to reset it to, for example
@@ -1381,8 +1383,10 @@ CELLPTR cp;
shell = ((l_attr & A_SHELL) != 0);
/* clean up the attributes that we may have just added. */
- if( (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd )
- strcpy(cmnd,p);
+ if( (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) {
+ size_t len = strlen(p)+1;
+ memmove(cmnd,p,len);
+ }
}
#if defined(MSDOS)
@@ -1477,8 +1481,9 @@ int map;
for( p=cmnd; *(n = DmStrPbrk(p,tmp)) != '\0'; )
/* Remove the \<nl> sequences. */
if(*n == CONTINUATION_CHAR && n[1] == '\n') {
+ size_t len = strlen(n+2)+1;
DB_PRINT( "make", ("fixing [%s]", p) );
- strcpy( n, n+2 );
+ memmove( n, n+2, len );
p = n;
}
/* Look for an escape sequence and replace it by it's corresponding
diff --git a/dmake/path.c b/dmake/path.c
index 682047951..9520686d6 100644
--- a/dmake/path.c
+++ b/dmake/path.c
@@ -172,6 +172,7 @@ char *path;
char *tpath;
int hasdriveletter = 0;
int delentry;
+ size_t len;
DB_ENTER( "Clean_path" );
@@ -231,14 +232,16 @@ char *path;
p++;
}
while( *p == *DirSepStr);
- strcpy(t+1,p);
+ len = strlen(p)+1;
+ memmove(t+1,p,len);
continue;
}
/* Remove './'. If OOODMAKEMODE is set do this only if it is not at
* the start of the path. */
if ( p-q == 1 && *q == '.' && (q != path || !STOBOOL(OOoDmMode)) ) {
- strcpy(q,p+1);
+ len = strlen(p+1)+1;
+ memmove(q,p+1,len);
q = tpath;
continue;
}
@@ -268,7 +271,8 @@ char *path;
}
while( *t == *DirSepStr);
/* q points to first letter of the current directory/file. */
- strcpy(q,t);
+ len = strlen(t)+1;
+ memmove(q,t,len);
q = tpath;
}
else
diff --git a/dmake/rulparse.c b/dmake/rulparse.c
index 4cc2359b2..c02860745 100644
--- a/dmake/rulparse.c
+++ b/dmake/rulparse.c
@@ -897,7 +897,7 @@ CELLPTR prereq; /* list of prerequisites */
/* Handle %-targets. */
CELLPTR cur;
CELLPTR tpq = NIL(CELL);
- CELLPTR nprq;
+ CELLPTR nprq = NULL;
#ifdef DBUG
DB_PRINT( "%", ("Handling %%-target [%s : : <prerequisites follow, maybe empty>]",
@@ -915,7 +915,8 @@ CELLPTR prereq; /* list of prerequisites */
if( *name == '\'' && name[len-1]=='\'' ){
name[len-1] = '\0';
- strcpy(name,name+1);
+ len = strlen(name+1)+1;
+ memmove(name,name+1,len);
/* add indirect prerequisite */
_add_indirect_prereq( cur );
}