summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2017-02-23 07:48:02 +0800
committerMichael Stahl <mstahl@redhat.com>2017-02-23 12:35:02 +0000
commitbaf043318e83e768abe4ed7ae1c45bb75c0197e3 (patch)
treeee51ced3dbebc7c62f33b3d30b2d6ba3f93232eb /solenv
parenta438651d2b94f14a2a0e54024f69280917df37b5 (diff)
solenv(gcc-wrappers): remove trailing space of includepath
Change-Id: Ic14140f197a2c5e1632fd27cfae38ca4eff9bd8c Reviewed-on: https://gerrit.libreoffice.org/34562 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gcc-wrappers/wrapper.cxx20
1 files changed, 12 insertions, 8 deletions
diff --git a/solenv/gcc-wrappers/wrapper.cxx b/solenv/gcc-wrappers/wrapper.cxx
index cc312722f201..6e3fe1393fdb 100644
--- a/solenv/gcc-wrappers/wrapper.cxx
+++ b/solenv/gcc-wrappers/wrapper.cxx
@@ -49,7 +49,7 @@ void setupccenv() {
}
// Set-up include path
- string includepath="INCLUDE=.;";
+ string includepath="INCLUDE=.";
char* incbuf;
size_t inclen;
_dupenv_s(&incbuf,&inclen,"SOLARINC");
@@ -61,16 +61,20 @@ void setupccenv() {
free(incbuf);
// 3 = strlen(" -I")
- for(size_t pos=0; pos != string::npos;) {
- size_t endpos=inctmp.find(" -I",pos+3);
- size_t len=endpos-pos-3;
+ for(size_t pos=0,len=0;pos<inctmp.length();) {
+ size_t endpos=inctmp.find(" -I",pos+1);
if(endpos==string::npos)
- includepath.append(inctmp,pos+3,endpos);
- else if(len>0) {
- includepath.append(inctmp,pos+3,len);
+ endpos=inctmp.length();
+ len=endpos-pos;
+
+ while(len>0&&inctmp[pos+len-1]==' ')
+ --len;
+
+ if(len>3) {
includepath.append(";");
+ includepath.append(inctmp,pos+3,len-3);
}
- pos=inctmp.find(" -I",pos+len);
+ pos=endpos;
}
if(_putenv(includepath.c_str())<0) {
cerr << "Error: could not export INCLUDE" << endl;