<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>My intuition is that reading/writing ini file should be quite
      straightforward (unless I'm missing some subtelties of the
      format). In port/cpl_conv.cpp, we have a
      CPLLoadConfigOptionsFromFile() function that does that in a
      specific way for the purposes of parsing the GDAL configuration
      file
      (<a class="moz-txt-link-freetext" href="https://gdal.org/user/configoptions.html#gdal-configuration-file">https://gdal.org/user/configoptions.html#gdal-configuration-file</a>).
      But I can imagine we could have a more general
      std::map<std::string,
      std::pair<std::string,std::string>> CPLLoadIniFile(const
      char* pszIniFilename, CSLConstList papszOptions (if needed)) that
      would return a map of section -> (key, value) pairs.  Regarding
      an external project, this might be considered but one has to
      evaluate if there are not downsides (e.g will the effort to make
      it compile on all platforms and make all analysis tools we use
      happy not be greater than its benefits)<br>
    </p>
    <div class="moz-cite-prefix">Le 13/03/2024 à 15:00, Abel Pau via
      gdal-dev a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:PAXPR07MB7775D7D071D880A9A831826FA22A2@PAXPR07MB7775.eurprd07.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}@font-face
        {font-family:Menlo;}@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}pre
        {mso-style-priority:99;
        mso-style-link:"HTML con formato previo Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        mso-fareast-language:CA;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}span.HTMLconformatoprevioCar
        {mso-style-name:"HTML con formato previo Car";
        mso-style-priority:99;
        mso-style-link:"HTML con formato previo";
        font-family:Consolas;
        mso-fareast-language:EN-US;}p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        mso-fareast-language:CA;}span.EstiloCorreo22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}span.checkstep-line-content
        {mso-style-name:checkstep-line-content;}span.EstiloCorreo24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}span.dt-fm
        {mso-style-name:dt-fm;}span.EstiloCorreo26
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}span.EstiloCorreo27
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0cm;}ul
        {margin-bottom:0cm;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Hi
            again,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">MiraMon
            files have had INI files containing metadata information for
            ages.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">To
            read and write sections and key/values from them, we use
            specific Windows functions
(<a class="moz-txt-link-freetext" href="https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestring">https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestring</a>).
            When I started programming the driver, I had to create a
            function to do that as I couldn't use the Windows one.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">I
            suspect that these functions are not accurate and are
            failing.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Is
            there any function in GDAL that can read INI files (at least
            to check if a section exists and to get the value of a key
            in an existing section)? If not, perhaps using the following
            could be considered: <a class="moz-txt-link-freetext" href="https://github.com/brofield/simpleini">https://github.com/brofield/simpleini</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">It
            seems to have an MIT license... If it's possible to use this
            parser, what would be the procedure? I noticed that Even
            added a parser for some command line arguments and perhaps
            something similar can be done with that.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">If
            not, is it possible for me to add some files in the
            MiraMonVector driver and use them?<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">It's
            better to use something existing and multiplatform than to
            "reinvent the wheel" with some new function that can fail
            (in fact, is failing now).<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Thanks.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <div>
          <div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><b><span
                  style="mso-fareast-language:CA" lang="EN-US">De:</span></b><span
                style="mso-fareast-language:CA" lang="EN-US"> gdal-dev
                <a class="moz-txt-link-rfc2396E" href="mailto:gdal-dev-bounces@lists.osgeo.org"><gdal-dev-bounces@lists.osgeo.org></a>
                <b>En nombre de </b>Abel Pau via gdal-dev<br>
                <b>Enviado el:</b> dimecres, 13 de març de 2024 12:38<br>
                <b>Para:</b> Even Rouault
                <a class="moz-txt-link-rfc2396E" href="mailto:even.rouault@spatialys.com"><even.rouault@spatialys.com></a>;
                <a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
                <b>Asunto:</b> Re: [gdal-dev] There's something strange
                about two tests that are very similar<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Hi
            Even,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">thanks
            for your effort on that.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">I’ll
            spend some time analyzing that but I can imagine where the
            problem is.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">For
            your information our .REL files are generated in ANSI
            codification and when this kind of files are read I forgot
            to translate to UTF-8.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">It’s
            very probable that this is the mistake.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">I’ll
            tell you when I solve that!<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">About
            <o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="color:#1F497D" lang="EN-US"><span
              style="mso-list:Ignore">1)<span
                style="font:7.0pt "Times New Roman"">     
              </span></span></span><!--[endif]--><span
            style="color:#1F497D" lang="EN-US">it’s not my intention to
            output part of the content file (I think that is part of the
            name which is bad composed because is read from this REL
            file)<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="color:#1F497D" lang="EN-US"><span
              style="mso-list:Ignore">2)<span
                style="font:7.0pt "Times New Roman"">     
              </span></span></span><!--[endif]--><span
            style="color:#1F497D" lang="EN-US">Due to codification,
            certainly<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="color:#1F497D" lang="EN-US"><span
              style="mso-list:Ignore">3)<span
                style="font:7.0pt "Times New Roman"">     
              </span></span></span><!--[endif]--><span
            style="color:#1F497D" lang="EN-US">It’s odd and I didn’t
            want to do that, of course! I’ll review<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="color:#1F497D" lang="EN-US"><span
              style="mso-list:Ignore">4)<span
                style="font:7.0pt "Times New Roman"">     
              </span></span></span><!--[endif]--><span
            style="color:#1F497D" lang="EN-US">I used Valgrind some
            time, And I’ll do again, thanks<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><br>
            Thanks for the report!<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <div>
          <div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><b><span
                  style="mso-fareast-language:CA" lang="EN-US">De:</span></b><span
                style="mso-fareast-language:CA" lang="EN-US"> Even
                Rouault <<a href="mailto:even.rouault@spatialys.com"
                  moz-do-not-send="true" class="moz-txt-link-freetext">even.rouault@spatialys.com</a>>
                <br>
                <b>Enviado el:</b> dimecres, 13 de març de 2024 11:47<br>
              </span><b><span style="mso-fareast-language:CA" lang="ES">Para:</span></b><span
                style="mso-fareast-language:CA" lang="ES"> Abel Pau <<a
                  href="mailto:a.pau@creaf.uab.cat"
                  moz-do-not-send="true" class="moz-txt-link-freetext">a.pau@creaf.uab.cat</a>>;
                <a href="mailto:gdal-dev@lists.osgeo.org"
                  moz-do-not-send="true" class="moz-txt-link-freetext">gdal-dev@lists.osgeo.org</a><br>
                <b>Asunto:</b> Re: [gdal-dev] There's something strange
                about two tests that are very similar<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p>Hi,<span style="font-size:12.0pt;mso-fareast-language:CA"><o:p></o:p></span></p>
        <p>I've checkout'ed your branch locally and I can reproduce the
          error when running the Python tests. Some of the CI checks
          give an interesting hint about this being related to a UTF8
          issue, and I wondered why<o:p></o:p></p>
        <p>But running "ogrinfo
          autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol"
          outputs:<o:p></o:p></p>
        <p>"""<o:p></o:p></p>
        <p>ERROR 4: Error pMMPolygonLayer.MMArc.pF: Cannot open file
          autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.arc<br>
          <br>
          [QUALITY:LINEAGE:PROCESS1]<br>
          nOrganismes=1<br>
          history=C:\MiraMon\MM64.exe<br>
          date=20230628 16204988+0200<br>
          <br>
          [QUALITY:LINEAGE:PROCESS1:ORGANISME_1]<br>
          IndividualName=Abel Pau<br>
          PositionName=T<span
            style="font-family:"Tahoma",sans-serif">�</span>cnic
          SIG<br>
          OrganisationName=Students and educational institutions<br>
          <br>
          [...]<o:p></o:p></p>
        <p>""""<o:p></o:p></p>
        <p>So there are several problems:<o:p></o:p></p>
        <p>1) On failure, you shouldn't output the content of the file
          in the error message, to keep it brief the UTF-8 error comes
          from the fact that the file content is not UTF-8 encoded)<o:p></o:p></p>
        <p>2) There is an error opening the file. <o:p></o:p></p>
        <p>3) Interestingly something in your code *deletes* file
          autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol
          !<o:p></o:p></p>
        <p>4) You should really invest in running Valgrind. After
          restoring the deleted file, I can see:<o:p></o:p></p>
        <p>$ valgrind ogrinfo
          autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol<br>
          ==1737168== Memcheck, a memory error detector<br>
          ==1737168== Copyright (C) 2002-2017, and GNU GPL'd, by Julian
          Seward et al.<br>
          ==1737168== Using Valgrind-3.15.0 and LibVEX; rerun with -h
          for copyright info<br>
          ==1737168== Command: ogrinfo
          autotest/ogr/data/miramon/Polygons/SimplePolygons/SimplePolFile.pol<br>
          ==1737168== <br>
          ==1737168== Conditional jump or move depends on uninitialised
          value(s)<br>
          ==1737168==    at 0x4843C6F: strstr (in
          /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)<br>
          ==1737168==    by 0x635FC44: MMReturnValueFromSectionINIFile
          (mm_wrlayr.c:5019)<br>
          ==1737168==    by 0x636219A: MMCheck_REL_FILE
          (mm_wrlayr.c:5785)<br>
          ==1737168==    by 0x63586B0: MMInitPolygonLayer
          (mm_wrlayr.c:1665)<br>
          ==1737168==    by 0x6358BC6: MMInitLayerByType
          (mm_wrlayr.c:1761)<br>
          ==1737168==    by 0x636B818: MMInitLayerToRead
          (mm_rdlayr.c:142)<br>
          ==1737168==    by 0x634D6A7:
          OGRMiraMonLayer::OGRMiraMonLayer(char const*,
          VSIVirtualHandle*, OGRSpatialReference const*, int, char**,
          MiraMonVectMapInfo*) (ogrmiramonlayer.cpp:219)<br>
          ==1737168==    by 0x634C03E: OGRMiraMonDataSource::Open(char
          const*, VSIVirtualHandle*, OGRSpatialReference const*, int,
          char**) (ogrmiramondatasource.cpp:71)<br>
          ==1737168==    by 0x634C997:
          OGRMiraMonDriverOpen(GDALOpenInfo*) (ogrmiramondriver.cpp:87)<br>
          ==1737168==    by 0x67DD68C: GDALDriver::Open(GDALOpenInfo*,
          bool) (gdaldriver.cpp:116)<br>
          ==1737168==    by 0x67F61F4: GDALOpenEx (gdaldataset.cpp:3745)<br>
          ==1737168==    by 0x10AC95: GDALDataset::Open(char const*,
          unsigned int, char const* const*, char const* const*, char
          const* const*) (gdal_priv.h:835)<br>
          ==1737168== <br>
          ==1737168== Conditional jump or move depends on uninitialised
          value(s)<br>
          ==1737168==    at 0x483EF58: strlen (in
          /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)<br>
          ==1737168==    by 0x5262132: CPLStrdup (cpl_conv.cpp:316)<br>
          ==1737168==    by 0x635FC6E: MMReturnValueFromSectionINIFile
          (mm_wrlayr.c:5023)<br>
          ==1737168==    by 0x636219A: MMCheck_REL_FILE
          (mm_wrlayr.c:5785)<br>
          ==1737168==    by 0x63586B0: MMInitPolygonLayer
          (mm_wrlayr.c:1665)<br>
          ==1737168==    by 0x6358BC6: MMInitLayerByType
          (mm_wrlayr.c:1761)<br>
          ==1737168==    by 0x636B818: MMInitLayerToRead
          (mm_rdlayr.c:142)<br>
          ==1737168==    by 0x634D6A7:
          OGRMiraMonLayer::OGRMiraMonLayer(char const*,
          VSIVirtualHandle*, OGRSpatialReference const*, int, char**,
          MiraMonVectMapInfo*) (ogrmiramonlayer.cpp:219)<br>
          ==1737168==    by 0x634C03E: OGRMiraMonDataSource::Open(char
          const*, VSIVirtualHandle*, OGRSpatialReference const*, int,
          char**) (ogrmiramondatasource.cpp:71)<br>
          ==1737168==    by 0x634C997:
          OGRMiraMonDriverOpen(GDALOpenInfo*) (ogrmiramondriver.cpp:87)<br>
          ==1737168==    by 0x67DD68C: GDALDriver::Open(GDALOpenInfo*,
          bool) (gdaldriver.cpp:116)<br>
          ==1737168==    by 0x67F61F4: GDALOpenEx (gdaldataset.cpp:3745)<br>
          ==1737168== <br>
          [...]<o:p></o:p></p>
        <p><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">Le 12/03/2024 à 20:43, Abel Pau a écrit :<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p><span style="color:#1F497D">>>></span> Are sure
            all needed files have been committed and pushed for the
            failing test?<o:p></o:p></p>
          <p><span style="color:#1F497D;mso-fareast-language:CA">Yes,
              sure. 9 files are needed for oine polygon layer.
              Absolutely sure.</span><o:p></o:p></p>
          <p><span style="color:#1F497D">>>> </span>Perhaps an
            issue Windows CR-LF vs Unix LF end of line characters ? The
            default settings of git on Windows may mess with binary
            files. cf
            <a
href="https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings"
              moz-do-not-send="true" class="moz-txt-link-freetext">
https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings</a><o:p></o:p></p>
          <p><span style="color:#1F497D">I’ll take a look but in binary
              files the format are bytes of information or blanks (there
              is no line endings or something similar). The drivers
              Writes and reads bytes and it goes to different features
              using offsets of 4 or 8 bytes depending on the version. 4
              in this case. Here is the format description for more
              information.
              <a
href="https://www.miramon.cat/new_note/eng/notes/MiraMon_structured_vectors_file_format.pdf"
                moz-do-not-send="true" class="moz-txt-link-freetext">
https://www.miramon.cat/new_note/eng/notes/MiraMon_structured_vectors_file_format.pdf</a></span><o:p></o:p></p>
          <p><span style="color:#1F497D">Taking a look to the log I can
              see an advice about GDALOpenEx (See below).</span><o:p></o:p></p>
          <p><span style="color:#1F497D">Thinking about differences
              between extension POL and the other two (PNT and ARC) is
              that is the main.</span><o:p></o:p></p>
          <p class="MsoNormal" style="text-autospace:none"><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">poDriver->SetMetadataItem(</span><span
style="font-size:9.5pt;font-family:Consolas;color:#6F008A;mso-fareast-language:CA">GDAL_DMD_EXTENSION</span><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">,
            </span><span
style="font-size:9.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:CA">"pol"</span><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">);
            </span><o:p></o:p></p>
          <p class="MsoNormal" style="text-autospace:none"><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">poDriver->SetMetadataItem(</span><span
style="font-size:9.5pt;font-family:Consolas;color:#6F008A;mso-fareast-language:CA">GDAL_DMD_EXTENSIONS</span><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">,
            </span><span
style="font-size:9.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:CA">"pol
              arc pnt"</span><span
style="font-size:9.5pt;font-family:Consolas;color:black;mso-fareast-language:CA">);</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">I
              look into multiple examples where ds = gdal.OpenEx() is
              called with one, two or three arguments.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">So,
              could it be related with this issue?</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Thanks!!!</span><o:p></o:p></p>
          <p><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">THE
              LOG:</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES">/home/runner/work/gdal/gdal/build-ubuntu_22.04/autotest/ogr/ogr_miramon_vector.py:175:
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17282"
                moz-do-not-send="true">17281</a>_ _ _ _ _ _ _ _ _ _ _ _
              _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17283"
                moz-do-not-send="true">17282</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17284"
                moz-do-not-send="true">17283</a>args =
              ('data/miramon/Polygons/SimplePolygons/SimplePolFile.pol',),
              kwargs = {}
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17285"
                moz-do-not-send="true">17284</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17286"
                moz-do-not-send="true">17285</a> def OpenEx(*args,
              **kwargs) -> "GDALDatasetShadow *":
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17287"
                moz-do-not-send="true">17286</a> r"""
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17288"
                moz-do-not-send="true">17287</a> OpenEx(char const *
              utf8_path, unsigned int nOpenFlags=0, char **
              allowed_drivers=None, char ** open_options=None, char **
              sibling_files=None) -> Dataset </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17289"
                moz-do-not-send="true">17288</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17290"
                moz-do-not-send="true">17289</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17291"
                moz-do-not-send="true">17290</a> Open a raster or vector
              file as a :py:class:`Dataset`.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17292"
                moz-do-not-send="true">17291</a> See
              :cpp:func:`GDALOpenEx`.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17293"
                moz-do-not-send="true">17292</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17294"
                moz-do-not-send="true">17293</a> Parameters
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17295"
                moz-do-not-send="true">17294</a> ----------
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17296"
                moz-do-not-send="true">17295</a> utf8_path : str
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17297"
                moz-do-not-send="true">17296</a> name of the file to
              open
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17298"
                moz-do-not-send="true">17297</a> flags : int
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17299"
                moz-do-not-send="true">17298</a> Flags controlling how
              the Dataset is opened. Multiple ``gdal.OF_XXX`` flags
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17300"
                moz-do-not-send="true">17299</a> may be combined using
              the ``|`` operator. See :cpp:func:`GDALOpenEx`.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17301"
                moz-do-not-send="true">17300</a> allowed_drivers : list,
              optional
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17302"
                moz-do-not-send="true">17301</a> A list of the names of
              drivers that may attempt to open the dataset.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17303"
                moz-do-not-send="true">17302</a> open_options :
              dict/list, optional
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17304"
                moz-do-not-send="true">17303</a> A dict or list of
              name=value driver-specific opening options.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17305"
                moz-do-not-send="true">17304</a> sibling_files: list,
              optional
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17306"
                moz-do-not-send="true">17305</a> A list of filenames
              that are auxiliary to the main filename
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17307"
                moz-do-not-send="true">17306</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17308"
                moz-do-not-send="true">17307</a> Returns
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17309"
                moz-do-not-send="true">17308</a> -------
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17310"
                moz-do-not-send="true">17309</a> Dataset, or ``None`` on
              failure.
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17311"
                moz-do-not-send="true">17310</a>
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17312"
                moz-do-not-send="true">17311</a> See Also
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17313"
                moz-do-not-send="true">17312</a> --------
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17314"
                moz-do-not-send="true">17313</a> :py:func:`Open`
            </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D" lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8254132320/job/22577551385#step:16:17315"
                moz-do-not-send="true">17314</a> :py:func:`OpenShared`</span><o:p></o:p></p>
          <p><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p><span style="color:#1F497D"> </span><o:p></o:p></p>
          <div>
            <p class="MsoNormal">Le 12/03/2024 à 17:22, Abel Pau via
              gdal-dev a écrit :<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal"><span lang="ES">Hi,</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">I have in a single
                test python file with 3 tests inside:
              </span><span lang="ES"><a
href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L134"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">In some actions the
                first and second are Ok but the third is not. Example of
                failure:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8251854865/job/22569933640#step:12:4863"
                  moz-do-not-send="true"><span lang="EN-US">Some
                    improvements for empty layers · AbelPau/gdal@90a289c
                    (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES">Here you have the log
                (return _gdal.OpenEx(*args, **kwargs)
              </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/actions/runs/8251854865/job/22569933640#step:12:4913"
                  moz-do-not-send="true"><span lang="EN-US">4912</span></a></span><span
                lang="EN-US">23: E RuntimeError: Cannot open file %s.)
                <--- This happen in the driver when open fails.</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">The first two are
                OK:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L48"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L99"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:Menlo;color:#D0D7DE;background:#24292F"
                lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES">But this is not OK:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/blob/master/autotest/ogr/ogr_miramon_vector.py#L134"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/ogr_miramon_vector.py
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">And the file are all
                on the correct place (I am sure about that):</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">For the second one,
                for example:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/tree/master/autotest/ogr/data/miramon/Arcs/SimpleArcs"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/data/miramon/Arcs/SimpleArcs
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">And for the third
                one:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"><a
href="https://github.com/AbelPau/gdal/tree/master/autotest/ogr/data/miramon/Polygons/SimplePolygons"
                  moz-do-not-send="true"><span lang="EN-US">gdal/autotest/ogr/data/miramon/Polygons/SimplePolygons
                    at master · AbelPau/gdal (github.com)</span></a></span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">On local tests are
                perfectly OK (see below). So, after some days of trying
                to figure out WHY and what is de difference between 2
                and 3th test I have to ask you because it must be
                obvious but not to me.</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">Any idea? Some
                permissions stuff?? THANKS!</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">root@f5b8c1fb00ae:/gdal/build/autotest#
                python3 -m pytest -vv -p no:sugar --color=no
                ogr/ogr_miramon_vector.py</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">=================================================
                test session starts
                ==================================================</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">platform linux --
                Python 3.10.12, pytest-8.1.1, pluggy-1.4.0 --
                /usr/bin/python3</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">cachedir:
                .pytest_cache</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">benchmark: 4.0.0
                (defaults: timer=time.perf_counter disable_gc=False
                min_rounds=5 min_time=0.000005 max_time=1.0
                calibration_precision=10 warmup=False
                warmup_iterations=100000)</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">GDAL Build Info:</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  PAM_ENABLED: YES</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  OGR_ENABLED: YES</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  CURL_ENABLED: YES</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  CURL_VERSION:
                7.81.0</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  GEOS_ENABLED: YES</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  GEOS_VERSION:
                3.10.2-CAPI-1.16.0</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> 
                PROJ_BUILD_VERSION: 8.2.1</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> 
                PROJ_RUNTIME_VERSION: 8.2.1</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">  COMPILER: GCC
                11.4.0</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">GDAL_DOWNLOAD_TEST_DATA:
                undefined (tests relying on downloaded data may be
                skipped)</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">GDAL_RUN_SLOW_TESTS:
                undefined (tests marked as "slow" will be skipped)</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">rootdir:
                /gdal/build/autotest</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">configfile:
                pytest.ini</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">plugins: env-1.1.3,
                benchmark-4.0.0</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">collected 3 items</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_point
                PASSED                                                 
                [ 33%]</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_arc
PASSED                                                    [ 66%]</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">ogr/ogr_miramon_vector.py::test_ogr_miramon_simple_polygon
                PASSED                                               
                [100%]</span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="EN-US">==================================================
                3 passed in 0.11s
                ===================================================</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="mso-fareast-language:CA"
                lang="EN-US"> </span><o:p></o:p></p>
            <table class="MsoNormalTable" style="width:375.0pt"
              width="0" cellspacing="0" cellpadding="0" border="0">
              <tbody>
                <tr>
                  <td style="width:232.5pt;padding:0cm 0cm 0cm 0cm"
                    width="310">
                    <p class="MsoNormal"><b><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Abel
                          Pau Garcia</span></b><span
                        style="font-size:12.0pt;mso-fareast-language:CA">
                      </span><o:p></o:p></p>
                    <p class="MsoNormal"><b><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:#669900;mso-fareast-language:CA">GIS
                          developer</span></b><o:p></o:p></p>
                  </td>
                  <td style="width:142.5pt;padding:0cm 0cm 0cm 0cm"
                    width="190" valign="top">
                    <p class="MsoNormal" style="text-align:right"
                      align="right"><span
                        style="font-size:12.0pt;mso-fareast-language:CA"><img
                          style="width:1.3958in;height:.5208in"
                          id="Imagen_x0020_8"
src="cid:part1.iNPm0irX.of5HNswH@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/creaf-signature.png"
                          class="" width="134" height="50" border="0"></span><o:p></o:p></p>
                  </td>
                </tr>
                <tr>
                  <td style="padding:0cm 0cm 0cm 0cm">
                    <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
                          href="mailto:a.pau@creaf.uab.cat"
                          moz-do-not-send="true"><b><span
                              style="color:blue">a.pau@creaf.uab.cat</span></b></a></span><o:p></o:p></p>
                    <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
href="https://teams.microsoft.com/l/chat/0/0?users=a.pau@creaf.uab.cat"
                          moz-do-not-send="true"><b><span
                              style="color:blue">Let's chat on Teams!</span></b></a></span><o:p></o:p></p>
                    <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Tel.
                          +34 934814277</span></b><o:p></o:p></p>
                  </td>
                  <td style="width:106.5pt;padding:0cm 0cm 0cm 0cm"
                    width="190" valign="top">
                    <p class="MsoNormal" style="text-align:right"
                      align="right"><span
                        style="font-size:12.0pt;mso-fareast-language:CA"><img
                          style="width:1.0937in;height:.5208in"
                          id="Imagen_x0020_7"
src="cid:part2.NhVO6Krj.1fy1k2wp@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/so-en-signature.png"
                          class="" width="105" height="50" border="0"></span><o:p></o:p></p>
                  </td>
                </tr>
                <tr>
                  <td style="padding:0cm 0cm 0cm 0cm">
                    <p class="MsoNormal"><span lang="ES"><a
                          href="https://twitter.com/CREAF_ecologia"
                          target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"
                            lang="CA"><img
                              style="width:.177in;height:.177in"
                              id="Imagen_x0020_6"
src="cid:part3.daxlLsM6.rjh8Lf9A@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/twitter-icon-signature.png"
                              class="" width="17" height="17" border="0"></span></a><a
href="https://www.linkedin.com/company/1363052?trk=tyah&trkInfo=clickedVertical:company,clickedEntityId:1363052,idx:2-1-2,tarId:1465807877789,tas:creaf"
                          target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"
                            lang="CA"><img
                              style="width:.177in;height:.177in"
                              id="Imagen_x0020_5"
src="cid:part4.RnKqgqwL.Shd4oLHp@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/linkedin-icon-signature.png"
                              class="" width="17" height="17" border="0"></span></a><a
                          href="https://www.youtube.com/c/creafecologia"
                          target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"
                            lang="CA"><img
                              style="width:.177in;height:.177in"
                              id="Imagen_x0020_4"
src="cid:part5.OW3FMijb.RBh9u0SJ@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/youtube-icon-signature.png"
                              class="" width="17" height="17" border="0"></span></a><a
href="https://www.instagram.com/CREAF_ecologia/" target="_blank"
                          moz-do-not-send="true"><span
style="font-size:12.0pt;mso-fareast-language:CA;text-decoration:none"
                            lang="CA"><img
                              style="width:.177in;height:.177in"
                              id="Imagen_x0020_3"
src="cid:part6.IEEz4Lvd.nGkP9vFp@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/instagram-icon-signature.png"
                              class="" width="17" height="17" border="0"></span></a></span><o:p></o:p></p>
                    <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
                          href="http://www.creaf.cat" target="_blank"
                          moz-do-not-send="true"><b><span
                              style="color:#003300">www.creaf.cat</span></b></a><b>
                          |
                        </b><a href="http://blog.creaf.cat"
                          target="_blank" moz-do-not-send="true"><b><span
                              style="color:#003300">http://blog.creaf.cat</span></b></a></span><o:p></o:p></p>
                  </td>
                  <td style="padding:0cm 0cm 0cm 0cm" valign="top">
                    <p class="MsoNormal" style="text-align:right"
                      align="right"><span
                        style="font-size:12.0pt;mso-fareast-language:CA"><img
                          style="width:1.0937in;height:.5208in"
                          id="Imagen_x0020_2"
src="cid:part7.42IK85mC.VTpbywW3@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/uab_logo_signatura.png"
                          class="" width="105" height="50" border="0"></span><o:p></o:p></p>
                  </td>
                </tr>
                <tr>
                  <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                    <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">CREAF.
                        Campus UAB. Edifici C. 08193 Bellaterra
                        (Barcelona)</span><o:p></o:p></p>
                  </td>
                </tr>
                <tr>
                  <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                    <p class="MsoNormal"><span
style="font-size:8.5pt;font-family:"Arial",sans-serif;color:#999999;mso-fareast-language:CA"><br>
                        Before printing this electronic message, think
                        about the environment.</span><o:p></o:p></p>
                  </td>
                </tr>
                <tr>
                  <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                    <p class="MsoNormal"><span
                        style="font-size:12.0pt;mso-fareast-language:CA"><img
                          style="width:5.2083in;height:.0625in"
                          id="Imagen_x0020_1"
src="cid:part8.5gsg0BF6.AKGOldQi@spatialys.com"
alt="http://www.creaf.uab.cat/_signatura/line.gif" class="" width="500"
                          height="6" border="0"></span><o:p></o:p></p>
                  </td>
                </tr>
              </tbody>
            </table>
            <p class="MsoNormal"><span style="mso-fareast-language:CA"> </span><o:p></o:p></p>
            <p class="MsoNormal"><span lang="ES"> </span><o:p></o:p></p>
            <p class="MsoNormal" style="margin-bottom:12.0pt"><span
style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:CA"><br>
                <br>
              </span><o:p></o:p></p>
            <pre>_______________________________________________<o:p></o:p></pre>
            <pre>gdal-dev mailing list<o:p></o:p></pre>
            <pre><a href="mailto:gdal-dev@lists.osgeo.org"
            moz-do-not-send="true" class="moz-txt-link-freetext">gdal-dev@lists.osgeo.org</a><o:p></o:p></pre>
            <pre><a
            href="https://lists.osgeo.org/mailman/listinfo/gdal-dev"
            moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><o:p></o:p></pre>
          </blockquote>
          <pre>-- <o:p></o:p></pre>
          <pre><a href="http://www.spatialys.com" moz-do-not-send="true"
          class="moz-txt-link-freetext">http://www.spatialys.com</a><o:p></o:p></pre>
          <pre>My software is free, but my time generally not.<o:p></o:p></pre>
        </blockquote>
        <pre>-- <o:p></o:p></pre>
        <pre><a href="http://www.spatialys.com" moz-do-not-send="true"
        class="moz-txt-link-freetext">http://www.spatialys.com</a><o:p></o:p></pre>
        <pre>My software is free, but my time generally not.<o:p></o:p></pre>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>