<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>32711</bug_id>
          
          <creation_ts>2009-12-18 06:18:38 -0800</creation_ts>
          <short_desc>[gtk] Make paths relocatable on runtime</short_desc>
          <delta_ts>2010-03-05 14:40:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Fridrich Strba">fridrich.strba</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173138</commentid>
    <comment_count>0</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2009-12-18 06:18:38 -0800</bug_when>
    <thetext>In platform/graphics/gtk/ImageGtk.cpp, the position of the icon is computer like this: fileName = String::format(&quot;%s/webkit-1.0/images/%s.png&quot;, DATA_DIR, name).utf8()
This assumes that the runtime prefix will be identical to the configure-time prefix, which is not to be assumed on windows. The generic solution for this problem would be to simply get by win32 api call the position of the libwebkit*.dll at runtime and compute the position from this information. Something like:

#ifdef _WIN32
#  include &lt;shlobj.h&gt;
#  include &lt;mbstring.h&gt;
/* search for data relative to where we are installed */

static HMODULE hmodule;

#ifdef __cplusplus
extern &quot;C&quot; {
#endif
BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
	 DWORD     fdwReason,
	 LPVOID    lpvReserved)
{
  switch (fdwReason)
    {
    case DLL_PROCESS_ATTACH:
      hmodule = hinstDLL;
      break;
    }

  return TRUE;
}
#ifdef __cplusplus
}
#endif

static char *
get_webkit_datadir (void)
{
  static char retval[1000];
  static int beenhere = 0;

  unsigned char *p;

  if (beenhere)
    return retval;

  if (!GetModuleFileName (hmodule, (CHAR *) retval, sizeof(retval) - 10))
    return DATA_DIR;

  p = _mbsrchr ((const unsigned char *) retval, &apos;\\&apos;);
  *p = &apos;\0&apos;;
  p = _mbsrchr ((const unsigned char *) retval, &apos;\\&apos;);
  if (p) {
    if (stricmp ((const char *) (p+1), &quot;bin&quot;) == 0)
      *p = &apos;\0&apos;;
  }
  strcat (retval, &quot;\\share&quot;);

  beenhere = 1;

  return retval;
}

#undef DATA_DIR
#define DATA_DIR get_webkit_datadir ()
#endif

which should work for the ImageGtk.cpp file. Although a more general solution in line with what we are doing in evolution could be provided if we expect this problem not to be an isolated one:
http://git.gnome.org/cgit/evolution/tree/e-util/e-win32-reloc.c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195416</commentid>
    <comment_count>1</comment_count>
      <attachid>49887</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-03 01:45:31 -0800</bug_when>
    <thetext>Created attachment 49887
Patch doing what was described before</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196049</commentid>
    <comment_count>2</comment_count>
      <attachid>50013</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-04 07:11:36 -0800</bug_when>
    <thetext>Created attachment 50013
Patch that does what the previous one, but does not leak memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196092</commentid>
    <comment_count>3</comment_count>
      <attachid>50027</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-04 08:23:49 -0800</bug_when>
    <thetext>Created attachment 50027
Patch modified not to use String::format</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196097</commentid>
    <comment_count>4</comment_count>
      <attachid>50027</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2010-03-04 09:10:10 -0800</bug_when>
    <thetext>Comment on attachment 50027
Patch modified not to use String::format

I don&apos;t know if that is the best thing to do, but it seems to make sense and it has no impact on UNIX for WebKitGTK+ and we don&apos;t seem to leak memory.


&gt; +static char *
&gt; +get_webkit_datadir(void)

I think this is a small style violation, but I see that we copy the code from other places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196108</commentid>
    <comment_count>5</comment_count>
      <attachid>50027</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 10:00:17 -0800</bug_when>
    <thetext>Comment on attachment 50027
Patch modified not to use String::format

Clearing flags on attachment: 50027

Committed r55531: &lt;http://trac.webkit.org/changeset/55531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196109</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 10:00:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196114</commentid>
    <comment_count>7</comment_count>
      <attachid>50033</attachid>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-04 10:13:44 -0800</bug_when>
    <thetext>Created attachment 50033
Patch fixing a forgetful mind</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196117</commentid>
    <comment_count>8</comment_count>
      <attachid>50033</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2010-03-04 10:18:15 -0800</bug_when>
    <thetext>Comment on attachment 50033
Patch fixing a forgetful mind

ooops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196119</commentid>
    <comment_count>9</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-04 10:21:04 -0800</bug_when>
    <thetext>reopening so that it can land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196164</commentid>
    <comment_count>10</comment_count>
      <attachid>50033</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 11:39:17 -0800</bug_when>
    <thetext>Comment on attachment 50033
Patch fixing a forgetful mind

Rejecting patch 50033 from commit-queue.

Failed to run &quot;[&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Holger Freyther&apos;, &apos;--force&apos;]&quot; exit_code: 1
patching file WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/platform/graphics/gtk/ImageGtk.cpp
Hunk #1 FAILED at 159.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/platform/graphics/gtk/ImageGtk.cpp.rej

Full output: http://webkit-commit-queue.appspot.com/results/331689</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196677</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 14:38:52 -0800</bug_when>
    <thetext>Looks like this patch will need an update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196679</commentid>
    <comment_count>12</comment_count>
    <who name="Fridrich Strba">fridrich.strba</who>
    <bug_when>2010-03-05 14:40:09 -0800</bug_when>
    <thetext>The fix landed as a part of other patch, closing this bug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49887</attachid>
            <date>2010-03-03 01:45:31 -0800</date>
            <delta_ts>2010-03-04 07:11:31 -0800</delta_ts>
            <desc>Patch doing what was described before</desc>
            <filename>bug-32711-20100303104527.patch</filename>
            <type>text/plain</type>
            <size>2560</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQ1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMtMDMgIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIHBhdGhzIHJlbG9jYXRhYmxlIG9uIHJ1bnRpbWUgb24gV2luZG93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI3MTEKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHA6CisgICAgICAgIChnZXRf
d2Via2l0X2RhdGFkaXIpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJl
c291cmNlKToKKwogMjAxMC0wMy0wMiAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAkocmV2aXNpb24gNTU0NTQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDYgKzMyLDY2IEBACiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+
CiAKKyNpZmRlZiBfV0lOMzIKKyMgIGluY2x1ZGUgPG1ic3RyaW5nLmg+CisjICBpbmNsdWRlIDxz
aGxvYmouaD4KKy8qIHNlYXJjaCBmb3IgZGF0YSByZWxhdGl2ZSB0byB3aGVyZSB3ZSBhcmUgaW5z
dGFsbGVkICovCisKK3N0YXRpYyBITU9EVUxFIGhtb2R1bGU7CisKKyNpZmRlZiBfX2NwbHVzcGx1
cworZXh0ZXJuICJDIiB7CisjZW5kaWYKK0JPT0wgV0lOQVBJCitEbGxNYWluKEhJTlNUQU5DRSBo
aW5zdERMTCwKKyAgICBEV09SRCAgICAgZmR3UmVhc29uLAorICAgIExQVk9JRCAgICBscHZSZXNl
cnZlZCkKK3sKKyAgICBzd2l0Y2ggKGZkd1JlYXNvbikgeworICAgIGNhc2UgRExMX1BST0NFU1Nf
QVRUQUNIOgorICAgICAgICBobW9kdWxlID0gaGluc3RETEw7CisgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiBUUlVFOworfQorI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYK
Kworc3RhdGljIGNoYXIgKgorZ2V0X3dlYmtpdF9kYXRhZGlyKHZvaWQpCit7CisgICAgc3RhdGlj
IGNoYXIgcmV0dmFsWzEwMDBdOworICAgIHN0YXRpYyBpbnQgYmVlbmhlcmUgPSAwOworCisgICAg
dW5zaWduZWQgY2hhciAqcDsKKworICAgIGlmIChiZWVuaGVyZSkKKyAgICAgICAgcmV0dXJuIHJl
dHZhbDsKKworICAgIGlmICghR2V0TW9kdWxlRmlsZU5hbWUgKGhtb2R1bGUsIChDSEFSICopIHJl
dHZhbCwgc2l6ZW9mKHJldHZhbCkgLSAxMCkpCisgICAgICAgIHJldHVybiBEQVRBX0RJUjsKKwor
ICAgIHAgPSBfbWJzcmNocigoY29uc3QgdW5zaWduZWQgY2hhciAqKSByZXR2YWwsICdcXCcpOwor
ICAgICpwID0gJ1wwJzsKKyAgICBwID0gX21ic3JjaHIoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikg
cmV0dmFsLCAnXFwnKTsKKyAgICBpZiAocCkgeworICAgICAgICBpZiAoIXN0cmljbXAoKGNvbnN0
IGNoYXIgKikgKHArMSksICJiaW4iKSkKKyAgICAgICAgICAgICpwID0gJ1wwJzsKKyAgICB9Cisg
ICAgc3RyY2F0KHJldHZhbCwgIlxcc2hhcmUiKTsKKworICAgIGJlZW5oZXJlID0gMTsKKworICAg
IHJldHVybiByZXR2YWw7Cit9CisKKyN1bmRlZiBEQVRBX0RJUgorI2RlZmluZSBEQVRBX0RJUiBn
ZXRfd2Via2l0X2RhdGFkaXIgKCkKKyNlbmRpZgorCisKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1w
bGF0ZSA8PiB2b2lkIGZyZWVPd25lZEdQdHI8R3RrSWNvbkluZm8+KEd0a0ljb25JbmZvKiBpbmZv
KQpAQCAtOTcsNyArMTU3LDcgQEAgUGFzc1JlZlB0cjxJbWFnZT4gSW1hZ2U6OmxvYWRQbGF0Zm9y
bVJlcwogICAgIGlmICghc3RyY21wKCJtaXNzaW5nSW1hZ2UiLCBuYW1lKSkKICAgICAgICAgZmls
ZU5hbWUgPSBnZXRUaGVtZUljb25GaWxlTmFtZShHVEtfU1RPQ0tfTUlTU0lOR19JTUFHRSwgMTYp
OwogICAgIGlmIChmaWxlTmFtZS5pc051bGwoKSkKLSAgICAgICAgZmlsZU5hbWUgPSBTdHJpbmc6
OmZvcm1hdCgiJXMvd2Via2l0LTEuMC9pbWFnZXMvJXMucG5nIiwgREFUQV9ESVIsIG5hbWUpLnV0
ZjgoKTsKKyAgICAgICAgZmlsZU5hbWUgPSBnX2J1aWxkX2ZpbGVuYW1lKERBVEFfRElSLCAid2Vi
a2l0LTEuMCIsICJpbWFnZXMiLCBTdHJpbmc6OmZvcm1hdCgiJXMucG5nIiwgbmFtZSkudXRmOCgp
LCAwKTsKIAogICAgIHJldHVybiBsb2FkSW1hZ2VGcm9tRmlsZShmaWxlTmFtZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50013</attachid>
            <date>2010-03-04 07:11:36 -0800</date>
            <delta_ts>2010-03-04 08:23:43 -0800</delta_ts>
            <desc>Patch that does what the previous one, but does not leak memory.</desc>
            <filename>bug-32711-20100304161134.patch</filename>
            <type>text/plain</type>
            <size>2800</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTUyNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMtMDQgIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIHBhdGhzIHJlbG9jYXRhYmxlIG9uIHJ1bnRpbWUgb24gV2luZG93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI3MTEKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHA6CisgICAgICAgIChnZXRf
d2Via2l0X2RhdGFkaXIpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJl
c291cmNlKToKKwogMjAxMC0wMy0wNCAgRnJpZHJpY2ggU3RyYmEgIDxmcmlkcmljaC5zdHJiYUBi
bHVld2luLmNoPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAJKHJldmlzaW9uIDU1
NTI0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiw2ICszMiw2NiBAQAogI2luY2x1ZGUgPGNhaXJvLmg+CiAjaW5jbHVk
ZSA8Z3RrL2d0ay5oPgogCisjaWZkZWYgX1dJTjMyCisjICBpbmNsdWRlIDxtYnN0cmluZy5oPgor
IyAgaW5jbHVkZSA8c2hsb2JqLmg+CisvKiBzZWFyY2ggZm9yIGRhdGEgcmVsYXRpdmUgdG8gd2hl
cmUgd2UgYXJlIGluc3RhbGxlZCAqLworCitzdGF0aWMgSE1PRFVMRSBobW9kdWxlOworCisjaWZk
ZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitCT09MIFdJTkFQSQorRGxsTWFp
bihISU5TVEFOQ0UgaGluc3RETEwsCisgICAgRFdPUkQgICAgIGZkd1JlYXNvbiwKKyAgICBMUFZP
SUQgICAgbHB2UmVzZXJ2ZWQpCit7CisgICAgc3dpdGNoIChmZHdSZWFzb24pIHsKKyAgICBjYXNl
IERMTF9QUk9DRVNTX0FUVEFDSDoKKyAgICAgICAgaG1vZHVsZSA9IGhpbnN0RExMOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gVFJVRTsKK30KKyNpZmRlZiBfX2NwbHVzcGx1
cworfQorI2VuZGlmCisKK3N0YXRpYyBjaGFyICoKK2dldF93ZWJraXRfZGF0YWRpcih2b2lkKQor
eworICAgIHN0YXRpYyBjaGFyIHJldHZhbFsxMDAwXTsKKyAgICBzdGF0aWMgaW50IGJlZW5oZXJl
ID0gMDsKKworICAgIHVuc2lnbmVkIGNoYXIgKnA7CisKKyAgICBpZiAoYmVlbmhlcmUpCisgICAg
ICAgIHJldHVybiByZXR2YWw7CisKKyAgICBpZiAoIUdldE1vZHVsZUZpbGVOYW1lIChobW9kdWxl
LCAoQ0hBUiAqKSByZXR2YWwsIHNpemVvZihyZXR2YWwpIC0gMTApKQorICAgICAgICByZXR1cm4g
REFUQV9ESVI7CisKKyAgICBwID0gX21ic3JjaHIoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgcmV0
dmFsLCAnXFwnKTsKKyAgICAqcCA9ICdcMCc7CisgICAgcCA9IF9tYnNyY2hyKChjb25zdCB1bnNp
Z25lZCBjaGFyICopIHJldHZhbCwgJ1xcJyk7CisgICAgaWYgKHApIHsKKyAgICAgICAgaWYgKCFz
dHJpY21wKChjb25zdCBjaGFyICopIChwKzEpLCAiYmluIikpCisgICAgICAgICAgICAqcCA9ICdc
MCc7CisgICAgfQorICAgIHN0cmNhdChyZXR2YWwsICJcXHNoYXJlIik7CisKKyAgICBiZWVuaGVy
ZSA9IDE7CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCisjdW5kZWYgREFUQV9ESVIKKyNkZWZp
bmUgREFUQV9ESVIgZ2V0X3dlYmtpdF9kYXRhZGlyICgpCisjZW5kaWYKKworCiBuYW1lc3BhY2Ug
V1RGIHsKIAogdGVtcGxhdGUgPD4gdm9pZCBmcmVlT3duZWRHUHRyPEd0a0ljb25JbmZvPihHdGtJ
Y29uSW5mbyogaW5mbykKQEAgLTk2LDggKzE1NiwxMyBAQCBQYXNzUmVmUHRyPEltYWdlPiBJbWFn
ZTo6bG9hZFBsYXRmb3JtUmVzCiAgICAgQ1N0cmluZyBmaWxlTmFtZTsKICAgICBpZiAoIXN0cmNt
cCgibWlzc2luZ0ltYWdlIiwgbmFtZSkpCiAgICAgICAgIGZpbGVOYW1lID0gZ2V0VGhlbWVJY29u
RmlsZU5hbWUoR1RLX1NUT0NLX01JU1NJTkdfSU1BR0UsIDE2KTsKLSAgICBpZiAoZmlsZU5hbWUu
aXNOdWxsKCkpCi0gICAgICAgIGZpbGVOYW1lID0gU3RyaW5nOjpmb3JtYXQoIiVzL3dlYmtpdC0x
LjAvaW1hZ2VzLyVzLnBuZyIsIERBVEFfRElSLCBuYW1lKS51dGY4KCk7CisgICAgaWYgKGZpbGVO
YW1lLmlzTnVsbCgpKSB7CisgICAgICAgIGdjaGFyKiBpbWFnZW5hbWUgPSBnX3N0cmR1cF9wcmlu
dGYoIiVzLnBuZyIsIG5hbWUpOworICAgICAgICBnY2hhciogZ2xpYkZpbGVOYW1lID0gZ19idWls
ZF9maWxlbmFtZShEQVRBX0RJUiwgIndlYmtpdC0xLjAiLCAiaW1hZ2VzIiwgaW1hZ2VuYW1lLCAw
KTsKKyAgICAgICAgZmlsZU5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiJXMiLCBnbGliRmlsZU5hbWUp
LnV0ZjgoKTsKKyAgICAgICAgZ19mcmVlKGltYWdlbmFtZSk7CisgICAgICAgIGdfZnJlZShnbGli
RmlsZU5hbWUpOworICAgIH0KIAogICAgIHJldHVybiBsb2FkSW1hZ2VGcm9tRmlsZShmaWxlTmFt
ZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50027</attachid>
            <date>2010-03-04 08:23:49 -0800</date>
            <delta_ts>2010-03-04 10:13:39 -0800</delta_ts>
            <desc>Patch modified not to use String::format</desc>
            <filename>bug-32711-20100304172347.patch</filename>
            <type>text/plain</type>
            <size>2782</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTUyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMtMDQgIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIHBhdGhzIHJlbG9jYXRhYmxlIG9uIHJ1bnRpbWUgb24gV2luZG93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI3MTEKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHA6CisgICAgICAgIChnZXRf
d2Via2l0X2RhdGFkaXIpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJl
c291cmNlKToKKwogMjAxMC0wMy0wNCAgTGVhbmRybyBQZXJlaXJhICA8bGVhbmRyb0Bwcm9mdXNp
b24ubW9iaT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
bi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAJKHJl
dmlzaW9uIDU1NTI2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw2NiBAQAogI2luY2x1ZGUgPGNhaXJvLmg+
CiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgogCisjaWZkZWYgX1dJTjMyCisjICBpbmNsdWRlIDxtYnN0
cmluZy5oPgorIyAgaW5jbHVkZSA8c2hsb2JqLmg+CisvKiBzZWFyY2ggZm9yIGRhdGEgcmVsYXRp
dmUgdG8gd2hlcmUgd2UgYXJlIGluc3RhbGxlZCAqLworCitzdGF0aWMgSE1PRFVMRSBobW9kdWxl
OworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitCT09MIFdJTkFQ
SQorRGxsTWFpbihISU5TVEFOQ0UgaGluc3RETEwsCisgICAgRFdPUkQgICAgIGZkd1JlYXNvbiwK
KyAgICBMUFZPSUQgICAgbHB2UmVzZXJ2ZWQpCit7CisgICAgc3dpdGNoIChmZHdSZWFzb24pIHsK
KyAgICBjYXNlIERMTF9QUk9DRVNTX0FUVEFDSDoKKyAgICAgICAgaG1vZHVsZSA9IGhpbnN0RExM
OworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gVFJVRTsKK30KKyNpZmRlZiBf
X2NwbHVzcGx1cworfQorI2VuZGlmCisKK3N0YXRpYyBjaGFyICoKK2dldF93ZWJraXRfZGF0YWRp
cih2b2lkKQoreworICAgIHN0YXRpYyBjaGFyIHJldHZhbFsxMDAwXTsKKyAgICBzdGF0aWMgaW50
IGJlZW5oZXJlID0gMDsKKworICAgIHVuc2lnbmVkIGNoYXIgKnA7CisKKyAgICBpZiAoYmVlbmhl
cmUpCisgICAgICAgIHJldHVybiByZXR2YWw7CisKKyAgICBpZiAoIUdldE1vZHVsZUZpbGVOYW1l
IChobW9kdWxlLCAoQ0hBUiAqKSByZXR2YWwsIHNpemVvZihyZXR2YWwpIC0gMTApKQorICAgICAg
ICByZXR1cm4gREFUQV9ESVI7CisKKyAgICBwID0gX21ic3JjaHIoKGNvbnN0IHVuc2lnbmVkIGNo
YXIgKikgcmV0dmFsLCAnXFwnKTsKKyAgICAqcCA9ICdcMCc7CisgICAgcCA9IF9tYnNyY2hyKChj
b25zdCB1bnNpZ25lZCBjaGFyICopIHJldHZhbCwgJ1xcJyk7CisgICAgaWYgKHApIHsKKyAgICAg
ICAgaWYgKCFzdHJpY21wKChjb25zdCBjaGFyICopIChwKzEpLCAiYmluIikpCisgICAgICAgICAg
ICAqcCA9ICdcMCc7CisgICAgfQorICAgIHN0cmNhdChyZXR2YWwsICJcXHNoYXJlIik7CisKKyAg
ICBiZWVuaGVyZSA9IDE7CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCisjdW5kZWYgREFUQV9E
SVIKKyNkZWZpbmUgREFUQV9ESVIgZ2V0X3dlYmtpdF9kYXRhZGlyICgpCisjZW5kaWYKKworCiBu
YW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGUgPD4gdm9pZCBmcmVlT3duZWRHUHRyPEd0a0ljb25J
bmZvPihHdGtJY29uSW5mbyogaW5mbykKQEAgLTk2LDggKzE1NiwxMyBAQCBQYXNzUmVmUHRyPElt
YWdlPiBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzCiAgICAgQ1N0cmluZyBmaWxlTmFtZTsKICAgICBp
ZiAoIXN0cmNtcCgibWlzc2luZ0ltYWdlIiwgbmFtZSkpCiAgICAgICAgIGZpbGVOYW1lID0gZ2V0
VGhlbWVJY29uRmlsZU5hbWUoR1RLX1NUT0NLX01JU1NJTkdfSU1BR0UsIDE2KTsKLSAgICBpZiAo
ZmlsZU5hbWUuaXNOdWxsKCkpCi0gICAgICAgIGZpbGVOYW1lID0gU3RyaW5nOjpmb3JtYXQoIiVz
L3dlYmtpdC0xLjAvaW1hZ2VzLyVzLnBuZyIsIERBVEFfRElSLCBuYW1lKS51dGY4KCk7CisgICAg
aWYgKGZpbGVOYW1lLmlzTnVsbCgpKSB7CisgICAgICAgIGdjaGFyKiBpbWFnZW5hbWUgPSBnX3N0
cmR1cF9wcmludGYoIiVzLnBuZyIsIG5hbWUpOworICAgICAgICBnY2hhciogZ2xpYkZpbGVOYW1l
ID0gZ19idWlsZF9maWxlbmFtZShEQVRBX0RJUiwgIndlYmtpdC0xLjAiLCAiaW1hZ2VzIiwgaW1h
Z2VuYW1lLCAwKTsKKyAgICAgICAgZmlsZU5hbWUgPSBnbGliX2ZpbGVfbmFtZTsKKyAgICAgICAg
Z19mcmVlKGltYWdlbmFtZSk7CisgICAgICAgIGdfZnJlZShnbGliRmlsZU5hbWUpOworICAgIH0K
IAogICAgIHJldHVybiBsb2FkSW1hZ2VGcm9tRmlsZShmaWxlTmFtZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50033</attachid>
            <date>2010-03-04 10:13:44 -0800</date>
            <delta_ts>2010-03-05 14:39:38 -0800</delta_ts>
            <desc>Patch fixing a forgetful mind</desc>
            <filename>bug-32711-20100304191342.patch</filename>
            <type>text/plain</type>
            <size>1232</size>
            <attacher name="Fridrich Strba">fridrich.strba</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTUzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMtMDQgIEZyaWRyaWNoIFN0cmJhICA8ZnJpZHJpY2guc3Ry
YmFAYmx1ZXdpbi5jaD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIHBhdGhzIHJlbG9jYXRhYmxlIG9uIHJ1bnRpbWUgb24gV2luZG93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI3MTEKKworCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSk6IEZpeCBhIHR5cG8KKwogMjAxMC0w
My0wNCAgRnJpZHJpY2ggU3RyYmEgIDxmcmlkcmljaC5zdHJiYUBibHVld2luLmNoPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAJKHJldmlzaW9uIDU1NTMxKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTks
NyArMTU5LDcgQEAgUGFzc1JlZlB0cjxJbWFnZT4gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlcwogICAg
IGlmIChmaWxlTmFtZS5pc051bGwoKSkgewogICAgICAgICBnY2hhciogaW1hZ2VuYW1lID0gZ19z
dHJkdXBfcHJpbnRmKCIlcy5wbmciLCBuYW1lKTsKICAgICAgICAgZ2NoYXIqIGdsaWJGaWxlTmFt
ZSA9IGdfYnVpbGRfZmlsZW5hbWUoREFUQV9ESVIsICJ3ZWJraXQtMS4wIiwgImltYWdlcyIsIGlt
YWdlbmFtZSwgMCk7Ci0gICAgICAgIGZpbGVOYW1lID0gZ2xpYl9maWxlX25hbWU7CisgICAgICAg
IGZpbGVOYW1lID0gZ2xpYkZpbGVOYW1lOwogICAgICAgICBnX2ZyZWUoaW1hZ2VuYW1lKTsKICAg
ICAgICAgZ19mcmVlKGdsaWJGaWxlTmFtZSk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>