From 66828481aa51e2e198cd87a67e29fad14f5dcc19 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Thu, 12 Feb 2004 19:29:48 +0000 Subject: [PATCH] don't use numbers in URLs if truncateFilenames=no git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- utils/tex2rtf/src/htmlutil.cpp | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/utils/tex2rtf/src/htmlutil.cpp b/utils/tex2rtf/src/htmlutil.cpp index a286f46279..3a7a4fb1e4 100644 --- a/utils/tex2rtf/src/htmlutil.cpp +++ b/utils/tex2rtf/src/htmlutil.cpp @@ -23,6 +23,8 @@ #ifndef WX_PRECOMP #endif +#include "wx/arrstr.h" + #include "tex2any.h" #include "tex2rtf.h" #include "table.h" @@ -175,12 +177,17 @@ void SetCurrentSubsubsectionName(wxChar *s, wxChar *file) SetCurrentTopic(s); } + +// mapping between fileId and filenames if truncateFilenames=false: +static wxArrayString gs_filenames; + + /* * Close former filedescriptor and reopen using another filename. * */ -void ReopenFile(FILE **fd, wxChar **fileName) +void ReopenFile(FILE **fd, wxChar **fileName, const wxChar *label) { if (*fd) { @@ -190,9 +197,15 @@ void ReopenFile(FILE **fd, wxChar **fileName) fileId ++; wxChar buf[400]; if (truncateFilenames) + { wxSprintf(buf, _T("%s%d.htm"), FileRoot, fileId); + } else - wxSprintf(buf, _T("%s%d.html"), FileRoot, fileId); + { + wxSprintf(buf, _T("%s_%s.html"), FileRoot, label); + gs_filenames.SetCount(fileId + 1); + gs_filenames[fileId] = buf; + } if (*fileName) delete[] *fileName; *fileName = copystring(wxFileNameFromPath(buf)); *fd = wxFopen(buf, _T("w")); @@ -703,7 +716,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) startedSections = TRUE; wxChar *topicName = FindTopicName(GetNextChunk()); - ReopenFile(&Chapters, &ChaptersName); + ReopenFile(&Chapters, &ChaptersName, topicName); AddTexRef(topicName, ChaptersName, ChapterNameString); SetCurrentChapterName(topicName, ChaptersName); @@ -774,7 +787,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) startedSections = TRUE; wxChar *topicName = FindTopicName(GetNextChunk()); - ReopenFile(&Sections, &SectionsName); + ReopenFile(&Sections, &SectionsName, topicName); AddTexRef(topicName, SectionsName, SectionNameString); SetCurrentSectionName(topicName, SectionsName); @@ -869,7 +882,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if ( !combineSubSections ) { SetCurrentOutput(NULL); - ReopenFile(&Subsections, &SubsectionsName); + ReopenFile(&Subsections, &SubsectionsName, topicName); AddTexRef(topicName, SubsectionsName, SubsectionNameString); SetCurrentSubsectionName(topicName, SubsectionsName); if (htmlWorkshopFiles) HTMLWorkshopAddToContents(2, topicName, SubsectionsName); @@ -950,7 +963,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if ( !combineSubSections ) { SetCurrentOutput(NULL); - ReopenFile(&Subsubsections, &SubsubsectionsName); + ReopenFile(&Subsubsections, &SubsubsectionsName, topicName); AddTexRef(topicName, SubsubsectionsName, SubsubsectionNameString); SetCurrentSubsubsectionName(topicName, SubsubsectionsName); if (htmlWorkshopFiles) HTMLWorkshopAddToContents(3, topicName, SubsubsectionsName); @@ -2692,7 +2705,7 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start && (arg_no == 1)) { - ReopenFile(&Chapters, &ChaptersName); + ReopenFile(&Chapters, &ChaptersName, _T("bibliography")); AddTexRef(_T("bibliography"), ChaptersName, _T("bibliography")); SetCurrentSubsectionName(_T("bibliography"), ChaptersName); @@ -3000,7 +3013,7 @@ bool HTMLGo(void) if (truncateFilenames) wxSprintf(firstFileName, _T("%s1.htm"), FileRoot); else - wxSprintf(firstFileName, _T("%s1.html"), FileRoot); + wxStrcpy(firstFileName, gs_filenames[1].c_str()); wxFprintf(tmpTitle, _T("\n")); @@ -3162,7 +3175,7 @@ void GenerateHTMLWorkshopFiles(wxChar *fname) if (truncateFilenames) wxSprintf(buf, _T("%s%d.htm"), wxFileNameFromPath(FileRoot), i); else - wxSprintf(buf, _T("%s%d.html"), wxFileNameFromPath(FileRoot), i); + wxStrcpy(buf, wxFileNameFromPath(gs_filenames[i].c_str())); wxFprintf(f, _T("%s\n"), buf); } fclose(f); -- 2.47.2