diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2009-10-01 09:16:17 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2009-10-01 09:16:17 +0000 |
commit | 41faa44b020686a511625a4bb92a2edc3c63bf12 (patch) | |
tree | 9e2156864a4df7249f49bec576838f06dbe7ede4 /dmake | |
parent | 0f8d27d4b47a2a96061aefa9f5ebf755794e3259 (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.c | 9 | ||||
-rw-r--r-- | dmake/expand.c | 26 | ||||
-rw-r--r-- | dmake/getinp.c | 6 | ||||
-rw-r--r-- | dmake/make.c | 15 | ||||
-rw-r--r-- | dmake/path.c | 10 | ||||
-rw-r--r-- | dmake/rulparse.c | 5 |
6 files changed, 49 insertions, 22 deletions
diff --git a/dmake/dag.c b/dmake/dag.c index ab5f7d9400c7..c10c12c18f1e 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 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 */ diff --git a/dmake/getinp.c b/dmake/getinp.c index d736f50320a2..5445193d1a90 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 c8f5eea7f48d..0f7ab644627f 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 d5dea553afb6..ead163394175 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 338e77e8ad09..af7915fb129b 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 ); } |