<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Is there a point of having more than one objectinfo at any point in
    time?<br>
    <br>
    If not, you could have a static reference to that one objectinfo, or
    possibly have it instantiated in the background as an object that it
    associated with each canvas (or one per pd instance) and use the
    visual [objectinfo] as a mere proxy that forwards stuff to the
    invisible object (which means as a courtesy you could have multiple
    instances of [objectinfo] without any issues).<br>
    <br>
    <div class="moz-cite-prefix">On 10/2/2015 11:50 AM, Jonathan Wilkes
      via Pd-list wrote:<br>
    </div>
    <blockquote
      cite="mid:1755010832.308255.1443801040476.JavaMail.yahoo@mail.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff;
        font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial,
        Lucida Grande, sans-serif;font-size:16px">
        <div id="yiv4647819552">
          <div id="yui_3_16_0_1_1443799821638_5267">
            <div id="yui_3_16_0_1_1443799821638_5266"
              style="color:#000;background-color:#fff;font-family:HelveticaNeue,
              Helvetica Neue, Helvetica, Arial, Lucida Grande,
              sans-serif;font-size:16px;">
              <div id="yiv4647819552yui_3_16_0_1_1443799821638_2826">I
                do have [objectinfo] inside Pd-l2ork.  But I don't have
                a method to</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_2895">return
                the memory location of the object.</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3065"><br
                  clear="none">
              </div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3142">I also
                have a "find" method in [canvasinfo] which is very
                handy-- but it<br clear="none">
              </div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3180">
                <div id="yui_3_16_0_1_1443799821638_5531" dir="ltr">searches
                  based on the box text.  I could add an obscure</div>
              </div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3259">"find_by_memory_location"
                method which would do the trick.  Then it'd just be a
                matter of:</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3336">1)
                generate error for some object</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3337">2)
                note the object's address</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3384">3)
                delete the object</div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I wonder if there is a more graceful way of doing this. If not, you
    could accompany object's address with its atomic creation time
    (which would require adding a member to a struct as long as it is
    internal to pd and not readily instantiated/accessible in 3rd-party
    externals) and that way compare whether it is the same object...<br>
    <br>
    <blockquote
      cite="mid:1755010832.308255.1443801040476.JavaMail.yahoo@mail.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff;
        font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial,
        Lucida Grande, sans-serif;font-size:16px">
        <div id="yiv4647819552">
          <div id="yui_3_16_0_1_1443799821638_5267">
            <div id="yui_3_16_0_1_1443799821638_5266"
              style="color:#000;background-color:#fff;font-family:HelveticaNeue,
              Helvetica Neue, Helvetica, Arial, Lucida Grande,
              sans-serif;font-size:16px;">
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3475">4)
                dynamically create new obj in subpatch<br clear="none">
              </div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3476">
                <div dir="ltr">5) check if that new object's address
                  matches old object address</div>
              </div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3477">6) if
                not, clear the subpatch</div>
              <div dir="ltr"
                id="yiv4647819552yui_3_16_0_1_1443799821638_3619">7)
                repeat until you find a match</div>
              <div id="yui_3_16_0_1_1443799821638_5412" dir="ltr"><br
                  clear="none">
              </div>
              <div id="yui_3_16_0_1_1443799821638_5355" dir="ltr">-Jonathan<br
                  clear="none">
              </div>
              <div id="yui_3_16_0_1_1443799821638_5356" dir="ltr"><br
                  clear="none">
              </div>
              <div id="yiv4647819552yui_3_16_0_1_1443799821638_2627"><span></span></div>
              <br clear="none">
              <div class="yiv4647819552qtdSeparateBR"><br clear="none">
                <br clear="none">
              </div>
            </div>
          </div>
        </div>
        <div class=".yiv4647819552yahoo_quoted">
          <div style="font-family:HelveticaNeue, Helvetica Neue,
            Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
            <div style="font-family:HelveticaNeue, Helvetica Neue,
              Helvetica, Arial, Lucida Grande,
              sans-serif;font-size:16px;">
              <div dir="ltr"> <font size="2" face="Arial"> On Friday,
                  October 2, 2015 1:05 AM, Matt Barber
                  <a class="moz-txt-link-rfc2396E" href="mailto:brbrofsvl@gmail.com"><brbrofsvl@gmail.com></a> wrote:<br clear="none">
                </font> </div>
              <br clear="none">
              <br clear="none">
              <div class="yiv4647819552y_msg_container">
                <div id="yiv4647819552">
                  <div>
                    <div dir="ltr">
                      <div class="yiv4647819552gmail_default"
                        style="font-family:verdana, sans-serif;">Most of
                        the docs also don't expect you run a pointer out
                        of the bounds of an array, either, but the
                        compiler trusts you know what you're doing.</div>
                      <div class="yiv4647819552gmail_default"
                        style="font-family:verdana, sans-serif;"><br
                          clear="none">
                      </div>
                      <div class="yiv4647819552gmail_default"
                        style="font-family:verdana, sans-serif;">I see
                        what you mean in the first question. Can we make
                        a patch to test it dynamically?</div>
                    </div>
                    <div class="yiv4647819552yqt3762535804"
                      id="yiv4647819552yqt68615">
                      <div class="yiv4647819552gmail_extra"><br
                          clear="none">
                        <div class="yiv4647819552gmail_quote">On Fri,
                          Oct 2, 2015 at 12:36 AM, Jonathan Wilkes <span
                            dir="ltr"><<a moz-do-not-send="true"
                              rel="nofollow" shape="rect"
                              ymailto="mailto:jancsika@yahoo.com"
                              target="_blank"
                              href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>></span>
                          wrote:<br clear="none">
                          <blockquote class="yiv4647819552gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex;">
                            <div>
                              <div
                                style="color:#000;background-color:#fff;font-family:HelveticaNeue,
                                Helvetica Neue, Helvetica, Arial, Lucida
                                Grande, sans-serif;font-size:16px;">
                                <div>For the first question, here's what
                                  I'm thinking:</div>
                                <div>1) create [boat(---[float]</div>
                                <div dir="ltr">2) click [boat(</div>
                                <div dir="ltr">3) error associated with
                                  [float].  (string ".x1234567"
                                  associated with [float] gets saved in
                                  Pd window of GUI)</div>
                                <div dir="ltr">4) delete [float]</div>
                                <div dir="ltr">5) create [clip]</div>
                                <div dir="ltr">6) somehow the OS happens
                                  to use addy "1234567" for [clip]<br
                                    clear="none">
                                </div>
                                <div dir="ltr">7) click the error in the
                                  Pd window<br clear="none">
                                </div>
                                <div><span>8) GUI sends "pd findinstance
                                    .x1234567" to Pd</span></div>
                                <div><span>9) Pd assigns "1234567" to
                                    error_object</span></div>
                                <div><span>10) Pd compares [clip]
                                    object's "1234567" to old [float]
                                    addy "1234567"</span></div>
                                <div><span>11) It's a match!</span></div>
                                <div dir="ltr"><span>12) [clip] is
                                    falsely accused</span></div>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span>For #2-- I guess
                                    I'm just anxious since most of the
                                    docs I've read assume</span></div>
                                <div dir="ltr"><span>a void* is either
                                    NULL or pointing to something that
                                    exists.</span></div>
                                <span class="yiv4647819552HOEnZb"></span>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span>-Jonathan<br
                                      clear="none">
                                  </span></div>
                                <div>
                                  <div class="yiv4647819552h5"><br
                                      clear="none">
                                    <div><br clear="none">
                                      <br clear="none">
                                    </div>
                                    <div style="display:block;">
                                      <div
                                        style="font-family:HelveticaNeue,
                                        Helvetica Neue, Helvetica,
                                        Arial, Lucida Grande,
                                        sans-serif;font-size:16px;">
                                        <div
                                          style="font-family:HelveticaNeue,
                                          Helvetica Neue, Helvetica,
                                          Arial, Lucida Grande,
                                          sans-serif;font-size:16px;">
                                          <div dir="ltr"> <font
                                              size="2" face="Arial"> On
                                              Friday, October 2, 2015
                                              12:15 AM, Matt Barber <<a
                                                moz-do-not-send="true"
                                                rel="nofollow"
                                                shape="rect"
                                                ymailto="mailto:brbrofsvl@gmail.com"
                                                target="_blank"
                                                href="mailto:brbrofsvl@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:brbrofsvl@gmail.com">brbrofsvl@gmail.com</a></a>>
                                              wrote:<br clear="none">
                                            </font> </div>
                                          <br clear="none">
                                          <br clear="none">
                                          <div>
                                            <div>
                                              <div>
                                                <div dir="ltr">
                                                  <div
                                                    style="font-family:verdana,
                                                    sans-serif;">​So, if
                                                    you deleted [float]
                                                    and created [clip],
                                                    isn't it going to
                                                    bash whatever c
                                                    string was
                                                    associated with
                                                    [float] and
                                                    associate it with
                                                    [clip]? Moreover,
                                                    that kind of error
                                                    has to occur in an
                                                    object that exists
                                                    in the current state
                                                    (I think?), so the
                                                    old [float] (once
                                                    it's gone) could
                                                    never be part of an
                                                    error in the first
                                                    place.</div>
                                                  <div
                                                    style="font-family:verdana,
                                                    sans-serif;"><br
                                                      clear="none">
                                                  </div>
                                                  <div
                                                    style="font-family:verdana,
                                                    sans-serif;">For 2)
                                                    I think it depends
                                                    on what you're going
                                                    to do with the void
                                                    pointer(s). Your
                                                    compare_pointers()
                                                    function could
                                                    actually be read as
                                                    the meat of a "guess
                                                    my address!"
                                                    roulette game. If
                                                    you decided to write
                                                    to *bar in case it
                                                    matched, it might be
                                                    a "guess my
                                                    address!" Russian
                                                    roulette game. I'm
                                                    not sure what the
                                                    compiler would say
                                                    about that since I
                                                    think you'd have to
                                                    cast *bar back to
                                                    something you could
                                                    write.</div>
                                                  <div
                                                    style="font-family:verdana,
                                                    sans-serif;"><br
                                                      clear="none">
                                                  </div>
                                                  <div
                                                    style="font-family:verdana,
                                                    sans-serif;"><br
                                                      clear="none">
                                                  </div>
                                                  <div>
                                                    <div><br
                                                        clear="none">
                                                      <div>On Thu, Oct
                                                        1, 2015 at 11:57
                                                        PM, Jonathan
                                                        Wilkes <span
                                                          dir="ltr"><<a
moz-do-not-send="true" rel="nofollow" shape="rect"
                                                          ymailto="mailto:jancsika@yahoo.com"
target="_blank" href="mailto:jancsika@yahoo.com"><a class="moz-txt-link-abbreviated" href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a></a>></span>
                                                        wrote:<br
                                                          clear="none">
                                                        <blockquote
                                                          style="margin:0px
                                                          0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;">
                                                          <div>
                                                          <div
                                                          style="color:rgb(0,0,0);font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;background-color:rgb(255,255,255);">
                                                          <div>Well, two
                                                          questions I
                                                          guess:</div>
                                                          <div dir="ltr">1)
                                                          false
                                                          positives-- if
                                                          I deleted
                                                          [float] and
                                                          create [clip],
                                                          can't malloc
                                                          use the addy</div>
                                                          <div dir="ltr">that
                                                          belonged to
                                                          [float]?  In
                                                          that case
                                                          [clip] could
                                                          get associated
                                                          with an error</div>
                                                          <div dir="ltr">it
                                                          had nothing to
                                                          do with.</div>
                                                          <div dir="ltr">2)
                                                          Is it
                                                          undefined
                                                          behavior to
                                                          check void*
                                                          garbage for
                                                          equality?<br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">And
                                                          just for the
                                                          heck of it...</div>
                                                          <div dir="ltr">3)
                                                          is there a way
                                                          to create
                                                          something like
                                                          [readpd~]
                                                          which would
                                                          take indices</div>
                                                          <div dir="ltr">as
                                                          input and
                                                          output the
                                                          corresponding
                                                          bytes of the
                                                          running Pd
                                                          instance? :)</div>
                                                          <span></span>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">-Jonathan<br
                                                          clear="none">
                                                          </div>
                                                          <div>
                                                          <div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          <span></span></div>
                                                          <div dir="ltr"><span></span></div>
                                                          <br
                                                          clear="none">
                                                          <div><br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          <div
                                                          style="display:block;">
                                                          <div
                                                          style="font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;">
                                                          <div
                                                          style="font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;">
                                                          <div dir="ltr">
                                                          <font size="2"
                                                          face="Arial">
                                                          On Thursday,
                                                          October 1,
                                                          2015 11:22 PM,
                                                          Matt Barber
                                                          <<a
                                                          moz-do-not-send="true"
                                                          rel="nofollow"
                                                          shape="rect"
                                                          ymailto="mailto:brbrofsvl@gmail.com"
target="_blank" href="mailto:brbrofsvl@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:brbrofsvl@gmail.com">brbrofsvl@gmail.com</a></a>>
                                                          wrote:<br
                                                          clear="none">
                                                          </font> </div>
                                                          <br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          <div>
                                                          <div>
                                                          <div>
                                                          <div dir="ltr">
                                                          <div
                                                          style="font-family:verdana,
                                                          sans-serif;">The
                                                          left side is
                                                          still
                                                          determined by
                                                          the current
                                                          state of the
                                                          patch, though
                                                          -- it's only
                                                          going to check
                                                          objects that
                                                          are still
                                                          there, which
                                                          any garbage on
                                                          the right
                                                          won't ever
                                                          match
                                                          (right?). If
                                                          there is a
                                                          match, it's
                                                          going to be
                                                          because the
                                                          state on both
                                                          sides of the
                                                          == was updated
                                                          when the
                                                          object was
                                                          created. We
                                                          never really
                                                          have to worry
                                                          about false
                                                          positives, so
                                                          I'm not sure
                                                          the random
                                                          long is the
                                                          same
                                                          situation.</div>
                                                          </div>
                                                          <div>
                                                          <div><br
                                                          clear="none">
                                                          <div>On Thu,
                                                          Oct 1, 2015 at
                                                          9:54 PM,
                                                          Jonathan
                                                          Wilkes <span
                                                          dir="ltr"><<a
moz-do-not-send="true" rel="nofollow" shape="rect"
                                                          ymailto="mailto:jancsika@yahoo.com"
target="_blank" href="mailto:jancsika@yahoo.com"><a class="moz-txt-link-abbreviated" href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a></a>></span>
                                                          wrote:<br
                                                          clear="none">
                                                          <blockquote
                                                          style="margin:0px
                                                          0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;">
                                                          <div>
                                                          <div
                                                          style="color:rgb(0,0,0);font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;background-color:rgb(255,255,255);">
                                                          <div>But if
                                                          you trace
                                                          error_object
                                                          back, you'll
                                                          see it gets
                                                          created from
                                                          an sscanf</div>
                                                          <div dir="ltr">of
                                                          a c string. 
                                                          And that
                                                          string was
                                                          stored in the
                                                          tcl/tk "text"
                                                          widget as
                                                          state bound</div>
                                                          <div dir="ltr">to
                                                          a
                                                          <ctrl-click>
                                                          proc (or in
                                                          post-1980s
                                                          version of Pd
                                                          that I work
                                                          on, a</div>
                                                          <div dir="ltr">"hyperlink").</div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">That
                                                          state can
                                                          persist well
                                                          past the life
                                                          of the object
                                                          it referred
                                                          to.  For
                                                          example,</div>
                                                          <div dir="ltr">the
                                                          error_object
                                                          could have
                                                          been deleted
                                                          by the user.</div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">That's
                                                          why I was
                                                          generating a
                                                          random long in
                                                          my contrived
                                                          example.  If
                                                          we<br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">cast
                                                          garbage to
                                                          void* and put
                                                          it to the
                                                          right of the
                                                          equals sign,
                                                          isn't libc</div>
                                                          <div dir="ltr">technically
                                                          allowed to
                                                          respond by
                                                          serving Pd
                                                          users a
                                                          listicle of
                                                          the top 10 C</div>
                                                          <div dir="ltr">programming
                                                          references
                                                          available from
                                                          Amazon with
                                                          free shipping?<span><font
color="#888888"><br clear="none">
                                                          </font></span></div>
                                                          <span></span>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">-Jonathan<br
                                                          clear="none">
                                                          </div>
                                                          <div>
                                                          <div>
                                                          <div><span></span></div>
                                                          <br
                                                          clear="none">
                                                          <div><br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          <div
                                                          style="display:block;">
                                                          <div
                                                          style="font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;">
                                                          <div
                                                          style="font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;">
                                                          <div dir="ltr">
                                                          <font size="2"
                                                          face="Arial">
                                                          On Thursday,
                                                          October 1,
                                                          2015 7:32 PM,
                                                          Matt Barber
                                                          <<a
                                                          moz-do-not-send="true"
                                                          rel="nofollow"
                                                          shape="rect"
                                                          ymailto="mailto:brbrofsvl@gmail.com"
target="_blank" href="mailto:brbrofsvl@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:brbrofsvl@gmail.com">brbrofsvl@gmail.com</a></a>>
                                                          wrote:<br
                                                          clear="none">
                                                          </font> </div>
                                                          <br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          <div>
                                                          <div>
                                                          <div>
                                                          <div dir="ltr">
                                                          <div
                                                          style="font-family:verdana,
                                                          sans-serif;">As
                                                          I understand
                                                          it, you can
                                                          compare void
                                                          pointers
                                                          because they
                                                          just store
                                                          addresses.</div>
                                                          <div
                                                          style="font-family:verdana,
                                                          sans-serif;"><br
                                                          clear="none">
                                                          </div>
                                                          <div
                                                          style="font-family:verdana,
                                                          sans-serif;">In
                                                          g_editor.c:</div>
                                                          <div
                                                          style="font-family:verdana,
                                                          sans-serif;"><br
                                                          clear="none">
                                                          </div>
                                                          <div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"><br
                                                          clear="none">
                                                          </font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif">static
                                                          int
                                                          glist_dofinderror(t_glist
                                                          *gl, void
                                                          *error_object)</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif">{</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                            t_gobj *g;</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                            for (g =
                                                          gl->gl_list;
                                                          g; g =
                                                          g->g_next)</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                            {</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                if
                                                          ((void *)g ==
                                                          error_object)</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                {</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                    /*
                                                          got it... now
                                                          show it. */</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                   
                                                          glist_noselect(gl);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                   
                                                          canvas_vis(glist_getcanvas(gl),
                                                          1);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                   
                                                          canvas_editmode(glist_getcanvas(gl),
                                                          1.);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                   
                                                          glist_select(gl,
                                                          g);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                   
                                                          return (1);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                }</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                else if
                                                          (g->g_pd ==
                                                          canvas_class)</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                {</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                    if
                                                          (glist_dofinderror((t_canvas
                                                          *)g,
                                                          error_object))</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                       
                                                          return (1);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                                }</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                            }</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"> 
                                                            return (0);</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif">}</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"><br
                                                          clear="none">
                                                          </font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"><br
                                                          clear="none">
                                                          </font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif">this
                                                          function takes
                                                          a pointer to
                                                          void (storing
                                                          the address of
                                                          an object) as
                                                          its second
                                                          argument void
                                                          *error_object.
                                                          It can't know
                                                          what the type
                                                          of that object
                                                          is, because
                                                          it's being
                                                          called from
                                                          somewhere
                                                          else, and it
                                                          could be any
                                                          kind of Pd
                                                          object. That
                                                          somewhere else
                                                          knows what
                                                          kind of object
                                                          it is and
                                                          (more
                                                          importantly)
                                                          where that
                                                          object's
                                                          address is,
                                                          and just
                                                          passes that
                                                          address in.
                                                          Then t_gobj
                                                          *g; traverses
                                                          the canvas,
                                                          and since the
                                                          address of
                                                          each object is
                                                          known, each of
                                                          those can be
                                                          compared to
                                                          the object
                                                          address passed
                                                          in until
                                                          there's a
                                                          match. This is
                                                          kind of a way
                                                          of getting
                                                          around the
                                                          usual strong
                                                          typing in c;
                                                          as long as we
                                                          know from both
                                                          ends of the
                                                          transaction
                                                          that we can
                                                          get valid
                                                          addresses of
                                                          what we're
                                                          interested in,
                                                          there's no
                                                          problem just
                                                          comparing
                                                          those
                                                          addresses to
                                                          see if we've
                                                          found the same
                                                          object.</font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"><br
                                                          clear="none">
                                                          </font></div>
                                                          <div><font
                                                          face="verdana,
                                                          sans-serif"><br
                                                          clear="none">
                                                          </font></div>
                                                          </div>
                                                          </div>
                                                          <div><br
                                                          clear="none">
                                                          <div>On Thu,
                                                          Oct 1, 2015 at
                                                          4:45 PM,
                                                          Jonathan
                                                          Wilkes via
                                                          Pd-list <span
                                                          dir="ltr"><<a
moz-do-not-send="true" rel="nofollow" shape="rect"
                                                          ymailto="mailto:pd-list@lists.iem.at"
target="_blank" href="mailto:pd-list@lists.iem.at"><a class="moz-txt-link-abbreviated" href="mailto:pd-list@lists.iem.at">pd-list@lists.iem.at</a></a>></span>
                                                          wrote:<br
                                                          clear="none">
                                                          <blockquote
                                                          style="margin:0px
                                                          0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;">
                                                          <div>
                                                          <div>
                                                          <div
                                                          style="color:rgb(0,0,0);font-family:HelveticaNeue,
                                                          'Helvetica
                                                          Neue',
                                                          Helvetica,
                                                          Arial, 'Lucida
                                                          Grande',
                                                          sans-serif;font-size:16px;background-color:rgb(255,255,255);">
                                                          <div>Hi list,</div>
                                                          <div><br
                                                          clear="none">
                                                          </div>
                                                          <div>int
                                                          compare_pointers(t_pd
                                                          *foo)</div>
                                                          <div>{</div>
                                                          <div dir="ltr"> 
                                                             long bar =
generate_random_long();</div>
                                                          <div dir="ltr"> 
                                                             return
                                                          (((void *)foo)
                                                          == ((void
                                                          *)bar));</div>
                                                          <div dir="ltr">}</div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">(I
                                                          probably have
                                                          unnecessary
                                                          parens
                                                          there...)</div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">Is
                                                          the check for
                                                          equality a
                                                          case of
                                                          undefined
                                                          behavior?</div>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">If
                                                          so, doesn't
                                                          glob_findinstance
                                                          of s_print.c
                                                          also lead to
                                                          the same</div>
                                                          <div dir="ltr">undefined
                                                          behavior?</div>
                                                          <span></span>
                                                          <div dir="ltr"><br
                                                          clear="none">
                                                          </div>
                                                          <div dir="ltr">-Jonathan</div>
                                                          <div dir="ltr"> </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br
                                                          clear="none">
_______________________________________________<br clear="none">
                                                          <a
                                                          moz-do-not-send="true"
                                                          rel="nofollow"
                                                          shape="rect"
                                                          ymailto="mailto:Pd-list@lists.iem.at"
target="_blank" href="mailto:Pd-list@lists.iem.at"><a class="moz-txt-link-abbreviated" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a></a>
                                                          mailing list<br
                                                          clear="none">
                                                          UNSUBSCRIBE
                                                          and
                                                          account-management
                                                          -> <a
                                                          moz-do-not-send="true"
                                                          rel="nofollow"
                                                          shape="rect"
                                                          target="_blank"
href="http://lists.puredata.info/listinfo/pd-list"><a class="moz-txt-link-freetext" href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a></a><br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          </blockquote>
                                                          </div>
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br
                                                          clear="none">
                                                          <br
                                                          clear="none">
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                        </blockquote>
                                                      </div>
                                                      <br clear="none">
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                            <br clear="none">
                                            <br clear="none">
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </blockquote>
                        </div>
                        <br clear="none">
                      </div>
                    </div>
                  </div>
                </div>
                <br clear="none">
                <br clear="none">
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
<a class="moz-txt-link-abbreviated" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a class="moz-txt-link-freetext" href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>