Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
0a97ece9
Kaydet (Commit)
0a97ece9
authored
Eyl 14, 2011
tarafından
Norbert Thiebaud
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
merge srvdepy functions into xml2cmp and simplify xml2cmp gbuild
üst
8578e3c8
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
186 additions
and
258 deletions
+186
-258
Repository.mk
Repository.mk
+1
-4
Executable_srvdepy.mk
xml2cmp/Executable_srvdepy.mk
+0
-40
Executable_xml2cmp.mk
xml2cmp/Executable_xml2cmp.mk
+16
-3
Module_xml2cmp.mk
xml2cmp/Module_xml2cmp.mk
+1
-3
StaticLibrary_x2c_support.mk
xml2cmp/StaticLibrary_x2c_support.mk
+0
-38
StaticLibrary_x2c_xcd.mk
xml2cmp/StaticLibrary_x2c_xcd.mk
+0
-40
cmdline.cxx
xml2cmp/source/support/cmdline.cxx
+10
-0
cmdline.hxx
xml2cmp/source/support/cmdline.hxx
+3
-0
dependy.cxx
xml2cmp/source/xcd/dependy.cxx
+2
-2
dependy.hxx
xml2cmp/source/xcd/dependy.hxx
+0
-0
main.cxx
xml2cmp/source/xcd/main.cxx
+153
-128
No files found.
Repository.mk
Dosyayı görüntüle @
0a97ece9
...
...
@@ -2,7 +2,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
...
...
@@ -36,7 +36,6 @@ $(eval $(call gb_Helper_register_executables,NONE, \
mkunroll \
rscdep \
so_checksum \
srvdepy \
xml2cmp \
))
...
...
@@ -257,8 +256,6 @@ $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
salcpprt \
vclmain \
writerperfect \
x2c_support \
x2c_xcd \
))
ifeq ($(OS),WNT)
...
...
xml2cmp/Executable_srvdepy.mk
deleted
100644 → 0
Dosyayı görüntüle @
8578e3c8
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License or as specified alternatively below. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Initial Developer of the Original Code is
# Peter Foley <pefoley2@verizon.net>
# Portions created by the Initial Developer are Copyright (C) 2011 the
# Initial Developer. All Rights Reserved.
#
# Major Contributor(s):
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
#
$(eval $(call gb_Executable_Executable,srvdepy))
$(eval $(call gb_Executable_add_exception_objects,srvdepy,\
xml2cmp/source/finder/dependy \
xml2cmp/source/finder/dep_main \
))
$(eval $(call gb_Executable_add_linked_static_libs,srvdepy,\
x2c_support \
x2c_xcd \
))
xml2cmp/Executable_xml2cmp.mk
Dosyayı görüntüle @
0a97ece9
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
...
...
@@ -31,9 +32,21 @@ $(eval $(call gb_Executable_Executable,xml2cmp))
$(eval $(call gb_Executable_add_exception_objects,xml2cmp,\
xml2cmp/source/xcd/main \
xml2cmp/source/support/cmdline \
xml2cmp/source/support/heap \
xml2cmp/source/support/sistr \
xml2cmp/source/support/syshelp \
xml2cmp/source/support/badcast \
xml2cmp/source/xcd/cr_html \
xml2cmp/source/xcd/cr_index \
xml2cmp/source/xcd/cr_metho \
xml2cmp/source/xcd/filebuff \
xml2cmp/source/xcd/parse \
xml2cmp/source/xcd/xmlelem \
xml2cmp/source/xcd/xmltree \
xml2cmp/source/xcd/dependy \
))
$(eval $(call gb_Executable_add_linked_static_libs,xml2cmp,\
x2c_support \
x2c_xcd \
$(eval $(call gb_Executable_add_linked_libs,xml2cmp,\
$(gb_STDLIBS) \
))
xml2cmp/Module_xml2cmp.mk
Dosyayı görüntüle @
0a97ece9
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
...
...
@@ -31,9 +32,6 @@ $(eval $(call gb_Module_Module,xml2cmp))
ifneq ($(CROSS_COMPILING),YES)
$(eval $(call gb_Module_add_targets,xml2cmp,\
StaticLibrary_x2c_support \
StaticLibrary_x2c_xcd \
Executable_srvdepy \
Executable_xml2cmp \
))
endif
...
...
xml2cmp/StaticLibrary_x2c_support.mk
deleted
100644 → 0
Dosyayı görüntüle @
8578e3c8
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License or as specified alternatively below. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Initial Developer of the Original Code is
# Peter Foley <pefoley2@verizon.net>
# Portions created by the Initial Developer are Copyright (C) 2011 the
# Initial Developer. All Rights Reserved.
#
# Major Contributor(s):
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,x2c_support))
$(eval $(call gb_StaticLibrary_add_exception_objects,x2c_support,\
xml2cmp/source/support/cmdline \
xml2cmp/source/support/heap \
xml2cmp/source/support/sistr \
xml2cmp/source/support/syshelp \
xml2cmp/source/support/badcast \
))
xml2cmp/StaticLibrary_x2c_xcd.mk
deleted
100644 → 0
Dosyayı görüntüle @
8578e3c8
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License or as specified alternatively below. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Initial Developer of the Original Code is
# Peter Foley <pefoley2@verizon.net>
# Portions created by the Initial Developer are Copyright (C) 2011 the
# Initial Developer. All Rights Reserved.
#
# Major Contributor(s):
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,x2c_xcd))
$(eval $(call gb_StaticLibrary_add_exception_objects,x2c_xcd,\
xml2cmp/source/xcd/cr_html \
xml2cmp/source/xcd/cr_index \
xml2cmp/source/xcd/cr_metho \
xml2cmp/source/xcd/filebuff \
xml2cmp/source/xcd/parse \
xml2cmp/source/xcd/xmlelem \
xml2cmp/source/xcd/xmltree \
))
xml2cmp/source/support/cmdline.cxx
Dosyayı görüntüle @
0a97ece9
...
...
@@ -35,6 +35,7 @@
char
C_sUseText
[]
=
"Use: xml2cmp.exe
\n
"
" [-dep <xml-component-descriptions-root-directory>
\n
"
" [-func funcFile]
\n
"
" [-html htmlFile]
\n
"
" [-types typeFile]
\n
"
...
...
@@ -49,6 +50,7 @@ char C_sUseText[] = "Use: xml2cmp.exe \n"
char
C_sCmdFunc
[]
=
"-func"
;
char
C_sCmdDep
[]
=
"-dep"
;
char
C_sCmdHtml
[]
=
"-html"
;
char
C_sCmdType
[]
=
"-types"
;
char
C_sCmdIndex
[]
=
"-ix"
;
...
...
@@ -215,6 +217,14 @@ CommandLine::ParseSingleFileCommand( int argc,
argc
,
argv
);
}
else
if
(
strcmp
(
argv
[
nCountArg
],
C_sCmdDep
)
==
0
)
{
bIsOk
=
GetParameter
(
sDepPath
,
nCountArg
,
argc
,
argv
);
}
else
{
sXmlSourceFile
=
argv
[
nCountArg
];
...
...
xml2cmp/source/support/cmdline.hxx
Dosyayı görüntüle @
0a97ece9
...
...
@@ -48,8 +48,10 @@ class CommandLine
const
char
*
FuncFile
()
const
{
return
sFuncFile
.
str
();
}
const
char
*
HtmlFile
()
const
{
return
sHtmlFile
.
str
();
}
const
char
*
TypeInfoFile
()
const
{
return
sTypeInfoFile
.
str
();
}
const
char
*
DepPath
()
const
{
return
sDepPath
.
str
();
}
bool
IsIndexCommand
()
const
{
return
sIndexFile
.
l
()
>
0
;
}
bool
IsDepCommand
()
const
{
return
sDepPath
.
l
()
>
0
;
}
const
char
*
XmlSrcDirectory
()
const
{
return
sXmlSourceDirectory
.
str
();
}
const
char
*
IndexOutputFile
()
const
{
return
sIndexFile
.
str
();
}
const
char
*
OutputDirectory
()
const
{
return
sOutputDirectory
.
str
();
}
...
...
@@ -76,6 +78,7 @@ class CommandLine
List
<
Simstr
>
aTagsInIndex
;
Simstr
sIdlRootPath
;
Simstr
sDepPath
;
bool
bIsOk
;
};
...
...
xml2cmp/source/
finder
/dependy.cxx
→
xml2cmp/source/
xcd
/dependy.cxx
Dosyayı görüntüle @
0a97ece9
...
...
@@ -31,8 +31,8 @@
#include <iostream>
#include "../support/syshelp.hxx"
#include "../support/list.hxx"
#include "
../xcd/
xmltree.hxx"
#include "
../xcd/
parse.hxx"
#include "xmltree.hxx"
#include "parse.hxx"
...
...
xml2cmp/source/
finder
/dependy.hxx
→
xml2cmp/source/
xcd
/dependy.hxx
Dosyayı görüntüle @
0a97ece9
File moved
xml2cmp/source/xcd/main.cxx
Dosyayı görüntüle @
0a97ece9
...
...
@@ -41,46 +41,151 @@
#include "parse.hxx"
#include "../support/syshelp.hxx"
#include "../support/heap.hxx"
#include "dependy.hxx"
int
Do_IndexCommandLine
(
const
CommandLine
&
i_rCommandLine
);
int
Do_SingleFileCommandLine
(
const
CommandLine
&
i_rCommandLine
);
void
Create_TypeInfo
(
const
char
*
o_sOutputFile
,
ModuleDescription
&
i_rData
);
void
StreamOut_TypeInfo
(
std
::
ostream
&
o_rOut
,
ModuleDescription
&
i_rData
,
const
char
*
i_sSeparator
)
{
Heap
aTypesHeap
(
12
);
// Gather types:
List
<
const
MultipleTextElement
*
>
aTypes
;
i_rData
.
Get_Types
(
aTypes
);
int
#ifdef WNT
_cdecl
#endif
main
(
int
argc
,
char
*
argv
[]
)
for
(
unsigned
t
=
0
;
t
<
aTypes
.
size
();
++
t
)
{
unsigned
i_max
=
aTypes
[
t
]
->
Size
();
for
(
unsigned
i
=
0
;
i
<
i_max
;
++
i
)
{
aTypesHeap
.
InsertValue
(
aTypes
[
t
]
->
Data
(
i
),
""
);
}
// end for
}
// Write types:
HeapItem
*
pLastHeapTop
=
0
;
for
(
HeapItem
*
pHeapTop
=
aTypesHeap
.
ReleaseTop
();
pHeapTop
!=
0
;
pHeapTop
=
aTypesHeap
.
ReleaseTop
()
)
{
if
(
pLastHeapTop
!=
0
)
{
if
(
0
==
strcmp
(
pHeapTop
->
Key
(),
pLastHeapTop
->
Key
())
)
continue
;
delete
pLastHeapTop
;
}
pLastHeapTop
=
pHeapTop
;
WriteStr
(
o_rOut
,
i_sSeparator
);
const
char
*
sEnd
=
strchr
(
pHeapTop
->
Key
(),
' '
);
if
(
sEnd
!=
0
)
{
const
char
*
sQuali
=
strrchr
(
pHeapTop
->
Key
(),
' '
)
+
1
;
WriteStr
(
o_rOut
,
sQuali
);
WriteStr
(
o_rOut
,
"."
);
o_rOut
.
write
(
pHeapTop
->
Key
(),
sEnd
-
pHeapTop
->
Key
()
);
}
else
{
WriteStr
(
o_rOut
,
pHeapTop
->
Key
()
);
}
}
// end for
if
(
pLastHeapTop
!=
0
)
{
delete
pLastHeapTop
;
pLastHeapTop
=
0
;
}
}
void
Put2StdOut_TypeInfo
(
ModuleDescription
&
i_rData
)
{
// Variables
CommandLine
aCommandLine
(
argc
,
argv
);
int
ret
=
0
;
StreamOut_TypeInfo
(
std
::
cout
,
i_rData
,
" "
);
}
if
(
!
aCommandLine
.
IsOk
())
void
Put2File_TypeInfo
(
const
char
*
i_sOutputFile
,
ModuleDescription
&
i_rData
)
{
std
::
ofstream
aOut
(
i_sOutputFile
,
std
::
ios
::
out
#if defined(WNT)
|
std
::
ios
::
binary
#endif
);
if
(
!
aOut
)
{
std
::
cerr
<<
aCommandLine
.
ErrorText
()
<<
std
::
endl
;
return
1
;
std
::
cerr
<<
"Error: "
<<
i_sOutputFile
<<
" could not be created."
<<
std
::
endl
;
return
;
}
if
(
aCommandLine
.
IsIndexCommand
()
)
ret
=
Do_IndexCommandLine
(
aCommandLine
);
else
ret
=
Do_SingleFileCommandLine
(
aCommandLine
);
Simstr
sLibPrefix
=
i_rData
.
ModuleName
();
WriteStr
(
aOut
,
sLibPrefix
);
WriteStr
(
aOut
,
"_XML2CMPTYPES= "
);
return
ret
;
StreamOut_TypeInfo
(
aOut
,
i_rData
,
"
\t\\\n\t\t
"
);
aOut
.
close
();
}
void
Create_TypeInfo
(
const
char
*
o_sOutputFile
,
ModuleDescription
&
i_rData
)
{
if
(
strcmp
(
o_sOutputFile
,
"stdout"
)
==
0
)
{
Put2StdOut_TypeInfo
(
i_rData
);
}
else
{
Put2File_TypeInfo
(
o_sOutputFile
,
i_rData
);
}
}
int
Do_SingleFileCommandLine
(
const
CommandLine
&
i_rCommandLine
)
int
Do_DepCommandLine
(
const
CommandLine
&
i_rCommandLine
)
{
DependencyFinder
aDependencies
;
aDependencies
.
GatherData
(
i_rCommandLine
.
DepPath
());
char
sInput
[
500
]
=
""
;
std
::
vector
<
Simstr
>
aLibs
;
std
::
vector
<
Simstr
>
aServs
;
std
::
cout
<<
"
\n
Now you can start to put in Service names.
\n
"
<<
"Please use correct case, but don't use namespaces.
\n
"
<<
"Just the Service's own name.
\n\n
"
<<
"To stop the program, put in a hashmark
\"
#
\"
+ ENTER.
\n
"
<<
std
::
endl
;
do
{
sInput
[
0
]
=
0
;
std
::
cin
>>
sInput
;
Simstr
sImplService
(
sInput
);
if
(
*
sInput
!=
'#'
)
{
aLibs
.
erase
(
aLibs
.
begin
(),
aLibs
.
end
()
);
aServs
.
erase
(
aServs
.
begin
(),
aServs
.
end
()
);
aDependencies
.
FindNeededServices
(
aLibs
,
aServs
,
sImplService
);
std
::
cout
<<
"
\n\n\n
Needed libraries: "
<<
std
::
endl
;
for
(
unsigned
i
=
0
;
i
<
aLibs
.
size
();
++
i
)
{
std
::
cout
<<
" "
<<
aLibs
[
i
].
str
()
<<
std
::
endl
;
}
std
::
cout
<<
"
\n
Needed services: "
<<
std
::
endl
;
for
(
unsigned
s
=
0
;
s
<
aServs
.
size
();
++
s
)
{
std
::
cout
<<
" "
<<
aServs
[
s
].
str
()
<<
std
::
endl
;
}
std
::
cout
<<
"
\n\n
"
<<
std
::
endl
;
}
}
while
(
*
sInput
!=
'#'
);
return
0
;
}
int
Do_SingleFileCommandLine
(
const
CommandLine
&
i_rCommandLine
)
{
ModuleDescription
aDescr
;
X2CParser
aParser
(
aDescr
);
...
...
@@ -95,8 +200,7 @@ Do_SingleFileCommandLine(const CommandLine & i_rCommandLine)
if
(
strlen
(
i_rCommandLine
.
FuncFile
())
>
0
)
{
Create_AccessMethod
(
i_rCommandLine
.
FuncFile
(),
aParser
.
PureText
()
);
Create_AccessMethod
(
i_rCommandLine
.
FuncFile
(),
aParser
.
PureText
()
);
std
::
cout
<<
"File "
<<
i_rCommandLine
.
FuncFile
()
...
...
@@ -118,15 +222,13 @@ Do_SingleFileCommandLine(const CommandLine & i_rCommandLine)
if
(
strlen
(
i_rCommandLine
.
TypeInfoFile
())
>
0
)
{
Create_TypeInfo
(
i_rCommandLine
.
TypeInfoFile
(),
aDescr
);
Create_TypeInfo
(
i_rCommandLine
.
TypeInfoFile
(),
aDescr
);
}
return
0
;
};
int
Do_IndexCommandLine
(
const
CommandLine
&
i_rCommandLine
)
int
Do_IndexCommandLine
(
const
CommandLine
&
i_rCommandLine
)
{
// Parse files:
List
<
Simstr
>
aFiles
;
...
...
@@ -148,113 +250,36 @@ Do_IndexCommandLine(const CommandLine & i_rCommandLine)
//******************** Creating of typeinfo ********************//
void
Put2StdOut_TypeInfo
(
ModuleDescription
&
i_rData
);
void
Put2File_TypeInfo
(
const
char
*
i_sOutputFile
,
ModuleDescription
&
i_rData
);
void
StreamOut_TypeInfo
(
std
::
ostream
&
o_rOut
,
ModuleDescription
&
i_rData
,
const
char
*
i_sSeparator
);
void
Create_TypeInfo
(
const
char
*
o_sOutputFile
,
ModuleDescription
&
i_rData
)
{
if
(
strcmp
(
o_sOutputFile
,
"stdout"
)
==
0
)
Put2StdOut_TypeInfo
(
i_rData
);
else
Put2File_TypeInfo
(
o_sOutputFile
,
i_rData
);
}
void
Put2StdOut_TypeInfo
(
ModuleDescription
&
i_rData
)
int
#ifdef WNT
_cdecl
#endif
main
(
int
argc
,
char
*
argv
[]
)
{
StreamOut_TypeInfo
(
std
::
cout
,
i_rData
,
" "
);
}
// Variables
CommandLine
aCommandLine
(
argc
,
argv
);
int
ret
=
0
;
void
Put2File_TypeInfo
(
const
char
*
i_sOutputFile
,
ModuleDescription
&
i_rData
)
{
std
::
ofstream
aOut
(
i_sOutputFile
,
std
::
ios
::
out
#if defined(WNT)
|
std
::
ios
::
binary
#endif
);
if
(
!
aOut
)
if
(
!
aCommandLine
.
IsOk
())
{
std
::
cerr
<<
"Error: "
<<
i_sOutputFile
<<
" could not be created."
<<
std
::
endl
;
return
;
std
::
cerr
<<
aCommandLine
.
ErrorText
()
<<
std
::
endl
;
return
1
;
}
Simstr
sLibPrefix
=
i_rData
.
ModuleName
();
WriteStr
(
aOut
,
sLibPrefix
);
WriteStr
(
aOut
,
"_XML2CMPTYPES= "
);
StreamOut_TypeInfo
(
aOut
,
i_rData
,
"
\t\\\n\t\t
"
);
aOut
.
close
();
}
void
StreamOut_TypeInfo
(
std
::
ostream
&
o_rOut
,
ModuleDescription
&
i_rData
,
const
char
*
i_sSeparator
)
{
Heap
aTypesHeap
(
12
);
// Gather types:
List
<
const
MultipleTextElement
*
>
aTypes
;
i_rData
.
Get_Types
(
aTypes
);
for
(
unsigned
t
=
0
;
t
<
aTypes
.
size
();
++
t
)
if
(
aCommandLine
.
IsIndexCommand
()
)
{
unsigned
i_max
=
aTypes
[
t
]
->
Size
();
for
(
unsigned
i
=
0
;
i
<
i_max
;
++
i
)
{
aTypesHeap
.
InsertValue
(
aTypes
[
t
]
->
Data
(
i
),
""
);
}
// end for
ret
=
Do_IndexCommandLine
(
aCommandLine
);
}
// Write types:
HeapItem
*
pLastHeapTop
=
0
;
for
(
HeapItem
*
pHeapTop
=
aTypesHeap
.
ReleaseTop
();
pHeapTop
!=
0
;
pHeapTop
=
aTypesHeap
.
ReleaseTop
()
)
else
if
(
aCommandLine
.
IsDepCommand
()
)
{
if
(
pLastHeapTop
!=
0
)
{
if
(
0
==
strcmp
(
pHeapTop
->
Key
(),
pLastHeapTop
->
Key
())
)
continue
;
delete
pLastHeapTop
;
}
pLastHeapTop
=
pHeapTop
;
WriteStr
(
o_rOut
,
i_sSeparator
);
const
char
*
sEnd
=
strchr
(
pHeapTop
->
Key
(),
' '
);
if
(
sEnd
!=
0
)
{
const
char
*
sQuali
=
strrchr
(
pHeapTop
->
Key
(),
' '
)
+
1
;
WriteStr
(
o_rOut
,
sQuali
);
WriteStr
(
o_rOut
,
"."
);
o_rOut
.
write
(
pHeapTop
->
Key
(),
sEnd
-
pHeapTop
->
Key
()
);
}
else
WriteStr
(
o_rOut
,
pHeapTop
->
Key
()
);
}
// end for
if
(
pLastHeapTop
!=
0
)
ret
=
Do_DepCommandLine
(
aCommandLine
);
}
else
{
delete
pLastHeapTop
;
pLastHeapTop
=
0
;
ret
=
Do_SingleFileCommandLine
(
aCommandLine
);
}
return
ret
;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment