<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thanks Tobias,</p>
    <p>I've made these updates and should have fixed the error in
      filemgr.cpp on line 410. I appreciate the feedback.  Please update
      and try this out and let me know.  Thanks for testing your
      compiler.</p>
    <p>Troy</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 7/26/20 8:25 PM, Tobias Klein wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:bd8dae2d-2f03-7830-022f-0088bed2727e@tklein.info">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>To address the errors below I had to add the include for
        <windows.h> both in <b>src/mgr/filemgr.cpp</b> and in <b>src/modules/commons/zipmgr.cpp</b>.</p>
      <p>After that I'm getting the next error:</p>
      <p>1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
        error C2664: 'BOOL FindNextFileA(HANDLE,LPWIN32_FIND_DATAA)':
        cannot convert argument 2 from 'WIN32_FIND_DATAW *' to
        'LPWIN32_FIND_DATAA'<br>
1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
        note: Types pointed to are unrelated; conversion requires
        reinterpret_cast, C-style cast or function-style cast</p>
      <p>Best regards,<br>
        Tobias<br>
      </p>
      <div class="moz-cite-prefix">On 7/26/20 4:44 PM, Troy A. Griffitts
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:8ba46945-3c28-4c90-df90-68a5a67cdca3@crosswire.org">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>Can one of you guys try simply including <windows.h> at
          the top of filemgr.cpp and see if this fixes it for you?</p>
        <p><br>
        </p>
        <div class="moz-cite-prefix">On 7/26/20 4:01 PM, Tobias Klein
          wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:4c1f1106-a942-9bb9-e09a-9d2cfae362c4@tklein.info">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <p>I'm getting similar error messages with Visual Studio 2019.
            Note that I'm also generating the make files via CMake.<br>
          </p>
          <p>First couple of error messages:<br>
          </p>
          <div data-index="296" style="box-sizing: border-box;">
            <div class="js-check-step-line CheckStep-line d-flex
              log-line-plain selected" style="box-sizing: border-box;
              display: flex !important; color: rgb(246, 248, 250);
              background-color: rgb(88, 96, 105);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,2): error C2065: 'WIN32_FIND_DATAW': undeclared identifier
</span></span></div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="297" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2146: syntax error: missing ';' before identifier 'fileData'
</span></span></div>
            </div>
            <div data-index="298" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);"><br
                  class="Apple-interchange-newline">
              </div>
            </div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="298" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2065: 'fileData': undeclared identifier
</span></span></div>
            </div>
            <div data-index="299" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);"><br
                  class="Apple-interchange-newline">
              </div>
            </div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="299" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,2): error C2065: 'HANDLE': undeclared identifier
</span></span></div>
            </div>
            <div data-index="300" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);"><br
                  class="Apple-interchange-newline">
              </div>
            </div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="300" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2146: syntax error: missing ';' before identifier 'findIterator'
</span></span></div>
            </div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="301" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2065: 'findIterator': undeclared identifier
</span></span></div>
            </div>
          </div>
          <div class="moz-cite-prefix">
            <div data-index="302" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);
                background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,51): error C2065: 'fileData': undeclared identifier
</span></span></div>
            </div>
            <div data-index="303" style="box-sizing: border-box;">
              <div class="js-check-step-line CheckStep-line d-flex
                log-line-plain" style="box-sizing: border-box; display:
                flex !important; color: rgb(246, 248, 250);"><br
                  class="Apple-interchange-newline">
              </div>
            </div>
          </div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">Best regards,<br>
            Tobias<br>
          </div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">On 7/26/20 3:00 PM, Greg Hellings
            wrote:<br>
          </div>
          <blockquote type="cite"
cite="mid:CAHxvOVKNpZOF-m8-+rhZepAVFm69CVw9D4zKE9O-71HEBVBWBQ@mail.gmail.com">
            <meta http-equiv="content-type" content="text/html;
              charset=UTF-8">
            <div dir="ltr">
              <div dir="ltr"><br>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Sun, Jul 26, 2020
                  at 6:42 AM Troy A. Griffitts <<a
                    href="mailto:scribe@crosswire.org"
                    moz-do-not-send="true">scribe@crosswire.org</a>>
                  wrote:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <div>
                    <p>I've just committed the last bit for fixing the
                      WIN32 Unicode issues.  If anyone can try compiling
                      and running Xiphos without the Xiphos patch or any
                      other projects for Windows, and let me know if
                      things work for them in folders which include
                      Unicode character, I would appreciate it.  I've
                      tested BibleCS and it now works with a SWORD_PATH
                      defined to /books/χαρις.  I've tested using and
                      installing modules in this configuration and
                      believe all the bugs are squashed, but I would
                      love confirmation from other projects.</p>
                    <p>Thanks for any feedback,</p>
                    <p>Troy</p>
                  </div>
                </blockquote>
                <div>During cross-compile I'm getting the following
                  errors:</div>
                <div><br>
                </div>
                <div>[  6%] Building CXX object
                  CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj<br>
                  /usr/bin/i686-w64-mingw32-g++  -DCLUCENE2
                  -DCURLAVAILABLE -DCURLSFTPAVAILABLE -DEXCLUDEBZIP2
                  -DEXCLUDEXZ
                  -DGLOBCONFPATH=\"/usr/i686-w64-mingw32/sys-root/mingw/etc/sword.conf\"
                  -DUSEICUREGEX -DUSELUCENE -DU_USING_ICU_NAMESPACE
                  -D_FTPLIB_NO_COMPAT -D_ICU_ -Dsword_EXPORTS
                  @CMakeFiles/sword.dir/includes_CXX.rsp -D_ICUSWORD_
                  -g3 -Wall -O0 -D_ICUSWORD_   -o
                  CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj -c
                  /builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static
                  member function 'static
                  std::vector<sword::DirEntry>
                  sword::FileMgr::getDirList(const char*, bool, bool)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:395:2: error:
                  'WIN32_FIND_DATAW' was not declared in this scope<br>
                    395 |  WIN32_FIND_DATAW fileData;<br>
                        |  ^~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:398:2: error:
                  'HANDLE' was not declared in this scope<br>
                    398 |  HANDLE findIterator =
                  FindFirstFileW(wcharPath, &fileData);<br>
                        |  ^~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:6: error:
                  'findIterator' was not declared in this scope<br>
                    399 |  if (findIterator != INVALID_HANDLE_VALUE) {<br>
                        |      ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:22: error:
                  'INVALID_HANDLE_VALUE' was not declared in this scope<br>
                    399 |  if (findIterator != INVALID_HANDLE_VALUE) {<br>
                        |                      ^~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:401:35: error:
                  'fileData' was not declared in this scope<br>
                    401 |    SWBuf dirEntName =
                  wcharToUTF8(fileData.cFileName);<br>
                        |                                   ^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:405:49: error:
                  'FILE_ATTRIBUTE_DIRECTORY' was not declared in this
                  scope<br>
                    405 |     i.isDirectory = fileData.dwFileAttributes
                  & FILE_ATTRIBUTE_DIRECTORY;<br>
                        |                                              
                    ^~~~~~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:40: error:
                  'fileData' was not declared in this scope<br>
                    409 |   } while (FindNextFile(findIterator,
                  &fileData) != 0);<br>
                        |                                      
                   ^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:12: error:
                  'FindNextFile' was not declared in this scope<br>
                    409 |   } while (FindNextFile(findIterator,
                  &fileData) != 0);<br>
                        |            ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:410:3: error:
                  'FindClose' was not declared in this scope; did you
                  mean '_findclose'?<br>
                    410 |   FindClose(findIterator);<br>
                        |   ^~~~~~~~~<br>
                        |   _findclose<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:397:17: warning:
                  unused variable 'wcharPath' [-Wunused-variable]<br>
                    397 |  const wchar_t *wcharPath = (const wchar_t
                  *)wcharBuf.getRawData();<br>
                        |                 ^~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp: In static
                  member function 'static int
                  sword::FileMgr::createParent(const char*)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:436:5: error:
                  '_wmkdir' was not declared in this scope; did you mean
                  'mkdir'?<br>
                    436 |     _wmkdir((const wchar_t
                  *)utf8ToWChar(buf).getRawData());<br>
                        |     ^~~~~~~<br>
                        |     mkdir<br>
                  make[2]: *** [CMakeFiles/sword.dir/build.make:283:
                  CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error 1</div>
                <div><br>
                </div>
                <div>I'm assuming there's a new package or macro I need
                  to define? On my system the WIN32_FIND_DATAW struct is
                  defined in both minwinbase.h and shtypes.h. I'm
                  building with MinGW which might have a different
                  header structure than your compilers, if you're using
                  Borland?</div>
                <div><br>
                </div>
                <div>--Greg<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <div>
                    <p><br>
                    </p>
                    <div>On 7/20/20 7:18 PM, Greg Hellings wrote:<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr">
                        <div>Sorry for the previous blank email - user
                          error when I tried to reply:<br>
                        </div>
                        <br>
                        <div class="gmail_quote">
                          <div dir="ltr" class="gmail_attr">On Sun, Jul
                            19, 2020 at 2:40 PM Tobias Klein <<a
                              href="mailto:contact@tklein.info"
                              target="_blank" moz-do-not-send="true">contact@tklein.info</a>>
                            wrote:<br>
                          </div>
                          <blockquote class="gmail_quote"
                            style="margin:0px 0px 0px
                            0.8ex;border-left:1px solid
                            rgb(204,204,204);padding-left:1ex">
                            <div lang="DE">
                              <div>
                                <p class="MsoNormal"><span lang="EN-US">Thanks
                                    for giving me the background on
                                    this, Karl! I appreciate it!</span></p>
                                <p class="MsoNormal"><span lang="EN-US">Is
                                    Xiphos the only frontend that has
                                    been patching Sword for this
                                    purpose? Then I suppose all other
                                    frontends suffer from this issue,
                                    huh?</span></p>
                              </div>
                            </div>
                          </blockquote>
                          <div><br>
                          </div>
                          <div>When I first encountered this patch in
                            Xiphos I tested with BibleTime and The Sword
                            Project for Windows and both of them do
                            crash under these circumstances.</div>
                          <div><br>
                          </div>
                          <div>Yes, other toolkits such as Qt do have
                            wrappers for this shortcoming already, but
                            none of the other front ends I've worked
                            with have bothered to put in the effort to
                            produce a patched version of Sword to fix
                            the crash.</div>
                          <div><br>
                          </div>
                          <div>--Greg</div>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
                    </blockquote>
                  </div>
                  _______________________________________________<br>
                  sword-devel mailing list: <a
                    href="mailto:sword-devel@crosswire.org"
                    target="_blank" moz-do-not-send="true">sword-devel@crosswire.org</a><br>
                  <a
                    href="http://www.crosswire.org/mailman/listinfo/sword-devel"
                    rel="noreferrer" target="_blank"
                    moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
                  Instructions to unsubscribe/change your settings at
                  above page</blockquote>
              </div>
            </div>
            <br>
            <fieldset class="mimeAttachmentHeader"></fieldset>
            <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
          </blockquote>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
        </blockquote>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
  </body>
</html>