DELTA 528 0 301
SVN  ¤N¬?#‡ T š “4R€‚g ‚¡€T |¡w€] £€]    $self->{ANONYMOUS} = 1{ROOMNICK => $from};
        my $x = $presence->GetX('http://jabber.org/protocol/muc#user');
        if($x && $x->DefinedItem()) {
            my $item = $x->GetItem();
            if($item->DefinedJID()) {
                $self->{PRESENCE}->{$from->GetJID('full')}->{FULLJID} = $item->GetJID();
                $self->{ANONYMOUS} = 0;
            }
        }GetFullJID roomjid

Given the roomnick of a user in the MUC, return their full NIC if the
MUC makes it available. If the MUC is anonymous or the user does not
exist in the MUC, return undef.

=cut

sub GetFullJID    my $pres = $self->{PRESENCE}->{$jid};
    return unless $pres;
    return $pres->{FULLJIDmap {$_->{ROOMNICK}} values %{$self->{PRESENCE}};
}

=head2 Anonymous

Returns true if the MUC is anonymous (hides participants real JIDs)

=cut

sub Anonymous {
    my $self = shift;
    return $self->{ANONYMOUS};
}

1;
ENDREP
DELTA 631 52 1211
SVN  “•ƒ0€ƒ, ‹dC‚ …'‚ q’-#include <stdlib.h>
#include <string.h>
#include "owl.h"

/*
 * At the moment, the obarray is represented as a sorted list of
 * strings. I judge this a reasonable tradeoff between simplicity and
 * reasonable efficient lookup (insertion should be comparatively
 * rare)
 */

// Helper method: Lookup a key in the obarray. If the key exists,
// return its index, and the interned value in *val. Otherwise, return
// the index it# # ENDREP
DELTA 378 278 8368
SVN  ’š/“ ‚t Š ˆ‚rª ‹š ‚Œ, G]€ ‚|‘ l”.€E s–€0 ™€X %›j€ƒ< ˆP­]€ƒ9 ‹Z¶€E ˆÂ€} ‰CÊ#„  Óf Mã€U ™oäUƒ ‡:þF€‚| ‰$ˆa€G’   char *cdowl_fmtext_init_colorpair_mgr(&(g->cpmgr))lastinputtime=g->starttimeg->confdir = NULL;
  g->startupfile = NULL;
  cd = owl_sprintf("%s/%s", g->homedir, OWL_CONFIG_DIR);
  owl_global_set_confdir(g, cd);
  owl_free(cd
  owl_obarray_init(&(g->obarray));

  owl_message_init_fmtext_cache(0) {
    /* gotta deal with this */
    g->recwinlines=0;
  }

  owl_function_debugmsg("_owl_global_setup_windows: about to call newwin(%i, %i, 0, 0)\n", g->recwinlines, cols);_owl_global_setup_windows: newwin returned NULL\n", g->recwinlines, cols);
    endwin();owl_editwin_set_command(owl_global_get_typwin(g), command);
}

char *owl_global_get_buffercommand(owl_global *g) {
  return owl_editwin_get_command(owl_global_get_typwin(g));
}

void owl_global_set_buffercallback(owl_global *g, void (*cb)(owl_editwin*)) {
  owl_editwin_set_callback(owl_global_get_typwin(g), cb);
}

void (*owl_global_get_buffercallback(owl_global *g))(owl_editwin*) {
  return owl_editwin_get_callback(owl_global_get_typwin(g)char *owl_global_get_confdir(owl_global *g) {
  if (g->confdir) return(g->confdir);
  return("/");
}

/*
 * Setting this also sets startupfile to confdir/startup
 */
void owl_global_set_confdir(owl_global *g, char *cd) {
  free(g->confdir);
  g->confdir = owl_strdup(cd);
  free(g->startupfile);
  g->startupfile = owl_sprintf("%s/startup", cd);
}

char *owl_global_get_startupfile(owl_global *g) {
  if(g->startupfile) return(g->startupfile#ifdef HAVE_RESIZETERM
  resizeterm(size.ws_row, size.ws_col);
#endiftime_t owl_global_get_lastinputtime(owl_global *g) {
  return(g->lastinputtime);
}

void owl_global_update_lastinputtime(owl_global *g) {
  g->lastinputtime = time(NULL);
}

time_t owl_global_get_idletime(owl_global *g) {
  return(time(NULL)-g->lastinpuowl_owl_colorpair_mgr *owl_global_get_colorpair_mgr(owl_global *g) {
  return(&(g->cpmgr)que/*
   * If we're redefining the current style, make sure to update
   * pointers to it.
   */
  if(g->current_view.style
     && !strcmp(owl_style_get_name(g->current_view.style),
                owl_style_get_name(s)))
    g->current_view.style = s;
  owl_dict_insert_element(&(g->styledict), owl_style_get_name(s),
                          s, (void(*)(void*))owl_style_free);
}
struct termios *owl_global_get_startup_tio(owl_global *g)
{
  return(&(g->startup_tio));
}

char * owl_global_intern(owl_global *g, char * string)
{
  return owl_obarray_insert(&(g->obarray), stringENDREP
DELTA 722 1485 3986
SVN  ÄAÉ}r‰8 ’ ‡ q’€" ‚L“t i–<€T P˜J€O šT€‚= ‚,œ/„ †/ž[µ †\¦	€Y …X­¬ ŒB³G€! É> É6Á‚ «5ŠE€ ‚¶h… 3¸n· Š<º<localechar * owl_get_datadir() {
    char * datadir = getenv("BARNOWL_DATA_DIR");
    if(datadir != NULL)
        return strchr(datadir, '=') + 1;
    return DATADIR;
}char *confdirconfdir = NULL;
  tty=NULL;
  debug=0;
  initialsubs=1;

  setlocale(LC_ALL, "");
          fprintf(stderr, "Too few arguments to -c\n");
        usage();
                fprintf(stderr, "Too few arguments to -t\n");
        usage();
        exit(1);
      }
      tty=argv[1];
      argv+=2;
      argc-=2;
    } else if (!strcmp(argv[0], "-s")){
      if (argc<2) {
        fprintf(stderr, "Too few arguments to -s\n");
        usage();
        exit(1);
      }
      confdir = barnowl_function_debugmsg("startup: Not setting TERMINFO"if (debug) owl_global_set_debug_on(&g);
  if (confdir) owl_global_set_confdir(&g, confdirglobal_get_confdir(&g);
  mkdir(dir, S_IRWXU and ( not type ^zephyr$"
                             " or ( class ^message and"
                             " ( instance ^personal$ or instance ^urgent$ ) ) )00Barnowl version %s\n", OWL_VERSION_STRING);
  fprintf(stderr, "Usage: barnowl [-n] [-d] [-D] [-v] [-h] [-c <configfile>] [-s <confdirBarnos      specify an alternate config dir (default ~/.owl)ENDREP
DELTA 413 0 6021
SVN  „Ño…G9·1 ªX €I ¦	«€k Ó€l ‰MÖ€† Éiß@‘ ‹.©)¤ ]´v€$ ‚"·[€n ·[ ¸D»Y€ƒ ‚ô	€„G B„Ï  ÒKök¸ uƒÉB€‰ ¶#ƒË/¸ “0„‚F „•y€$ Q„˜€F V„š| „šQ ‰B„›i€‡l ‰„¥€‚ ˆG„®€| @„Ï  š`„·write <user> [-m <message...>]",
	      "Send an aim message to a user.\n\n" 
              "The following options are available:\n\n"
              "-m    Specifies a message to send without prompting<protocol> <screenname>",
	      "Add the named buddy to your buddylist.  <protocol> can be aim or zephyr\n<protocol> <screenname>",
	      "Delete the named buddy to your buddylist.  <protocol< can be aim or zephyrARGS("punt", owl_command_punt, OWL_CTX_ANY,
	      "suppress an arbitrary filter",
	      "punt <filter-name>",
	      "punt <filter-text (multiple words)>\n"
	      "The punt command will supress message to the specified\n"
	      "filter\n\n"
	      "SEE ALSO:  unpunt, zpunt, show zpunts\n"),

  OWLCMD_ARGS("unpunt", owl_command_unpunt, OWL_CTX_ANY,
	      "remove an entry from the punt list",
	      "zpunt <filter-name>\n"
	      "zpunt <filter-text>\n"
	      "zpunt <number>\n",
	      "The unpunt command will remove an entry from the puntlist.\n"
	      "The first two forms correspond to the first two forms of the :punt\n"
	      "command. The latter allows you to remove a specific entry from the\n"
	      "the list (see :show zpunts)\n\n"
	      "SEE ALSO:  punt, zpunt, zunfgcolor ] [ -b bgs are used they specifies the colorss on the current filter",
	      "colorview <fgcolor> [<bgcolor>]",
	      "The colors of messages in the current filter will be changed\n"
	      "to <fgcolor>,<bgfgcolor> [<bgcolor>]",
	      "A filter will be created to color messages in <class>"
	      "in <fgcolor>,<bgsetsearch", owl_command_setsearch, OWL_CTX_INTERACTIVE,
	      "set the search highlight string without searching",
	      "setsearch <string>",
	      "The setsearch command highlights all occurences of its\n"
          "argument and makes it the default argument for future\n"
          "search commands, but does not move the cursor.  With\n"
          "no argument, it makes search inactive.  OWLCMD_ARGS("error", owl_command_error, OWL_CTX_ANY,
              "Display an error message",
              "error <message>",
              ""),

  OWLCMD_ARGS("message", owl_command_message, OWL_CTX_ANY,
              "Display an informatative message",
              "message <message>",
              ""),

  OWLCMD_VOID("yes", owl_command_yes, OWL_CTX_RECV,
              "Answer yes to a question",
              "yes",
              ""),

  OWLCMD_VOID("no", owl_command_no, OWL_CTX_RECV,
              "Answer no to a question",
              "no",
              ""),

  /, *recip, **myargv;
  int i, j, myargc;
  owl_message *mmyargv=argv;
  if (argc<0) {
    owl_function_error("Unbalanced quotes in aimwrite");
    return(NULL);
  }
  myargc=argc;
  if (myargc && *(myargv[0])!='-') {
    myargc--;
    myargv++;
  }
  while (myargc) {
    if (!strcmp(myargv[0], "-m")) {
      if (myargc<2) {
	break;
      }

      /* Once we have -m, gobble up everything else on the line */
      myargv++;
      myargc--;
      newbuff=owl_malloc(1);
      newbuff=owl_strdup("");
      while (myargc) {
	newbuff=realloc(newbuff, strlen(newbuff)+strlen(myargv[0])+5);
	strcat(newbuff, myargv[0]);
	strcat(newbuff, " ");
	myargc--;
	myargv++;
      }
      newbuff[strlen(newbuff)-1]='\0'; /* remove last space */

      recip=owl_malloc(strlen(argv[0])+5);
      sprintf(recip, "%s ", argv[1]);
      owl_aim_send_im(recip, newbuff);
      m=owl_function_make_outgoing_aim(newbuff, recip);
      if (m) { 
          owl_global_messagequeue_addmsg(&g, m);
      } else {
          owl_function_error("Could not create outgoing AIM message");
      }

      owl_free(recip);
      owl_free(newbuff);
      return(NULL);
    } else {
      /* we don't care */
      myargv++;
      myargc--;
    }global_get_startupfile(&g);
    owl_function_popless_fil < 2 || argc > 3, (argc == 3 ? argv[2] : NULL));
  return NULL;
}

char *owl_command_colorclass(int argc, char **argv, char *buff)
{
  char *filtname;
  
  if (argc < 3 || argc > 4, (argc == 4 ? argv[3] : NULL));
  return NULL;
}

char *owl_command_zpunt(int argc, char **argv, char *buff)
{
  owl_command_punt_unpunt(argc, argv, buff, 0);
  return NULL;
}

char *owl_command_unpunt(int argc, char **argv, char *buff)
{
  owl_command_punt_unpunt(argc, argv, buff, 1);
  return NULL;
}

void owl_command_punt_unpunt(int argc, char ** argv, char *buff, int unpunt)
{
  owl_list * fl;
  owl_filter * f;
  char * text;
  int i;

  fl = owl_global_get_puntlist(&g);
  if(argc == 1) {
    owl_function_show_zpunts();
  }

  if(argc == 2) {
    /* Handle :unpunt <number> */
    if(unpunt && (i=atoi(argv[1])) !=0) {
      i--;      /* Accept 1-based indexing */
      if(i < owl_list_get_size(fl)) {
        f = (owl_filter*)owl_list_get_element(fl, i);
        owl_list_remove_element(fl, i);
        owl_filter_free(f);
        return;
      } else {
        owl_function_error("No such filter number: %d", i+1);
      }
    }
    text = owl_sprintf("filter %s", argv[1]);
  } else {
    text = skiptokens(buff, 1);
  }

  owl_function_punt(text, unpunt);
}
setsearch(int argc, char **argv, char *buff)
{
  char *buffstart;

  buffstart=skiptokens(buff, 1);

  owl_global_set_search_active(&g, buffstart);

  if (!*buffstart) {
    owl_global_set_search_inactive(&g);
  }

  owl_mainwin_redisplay(owl_global_get_mainwin(&g));char *owl_command_error(int argc, char **argv, char *buff)
{
    buff = skiptokens(buff, 1);
    owl_function_error(buff);
    return NULL;
}

char *owl_command_message(int argc, char **argv, char *buff)
{
    buff = skiptokens(buff, 1);
    owl_function_makemsg(buff);
    return NULL;
}

void owl_command_yes(void)
{
  owl_message *m;
  owl_view *v;
  char *cmd;

  v = owl_global_get_current_view(&g);

  /* bail if there's no current message */
  if (owl_view_get_size(v) < 1) {
    owl_function_error("No current message.");
    return;
  }

  m = owl_view_get_element(v, owl_global_get_curmsg(&g));
  if(!owl_message_is_question(m)) {
    owl_function_error("That message isn't a question.");
    return;
  }
  if(owl_message_is_answered(m)) {
    owl_function_error("You already answered that question.");
    return;
  }
  cmd = owl_message_get_attribute_value(m, "yescommand");
  if(!cmd) {
    owl_function_error("No yes command!");
    return;
  }

  owl_function_command_norv(cmd);
  owl_message_set_isanswered(m);
  return;
}

void owl_command_no(void)
{
  owl_message *m;
  owl_view *v;
  char *cmd;

  v = owl_global_get_current_view(&g);

  /* bail if there's no current message */
  if (owl_view_get_size(v) < 1) {
    owl_function_error("No current message.");
    return;
  }

  m = owl_view_get_element(v, owl_global_get_curmsg(&g));
  if(!owl_message_is_question(m)) {
    owl_function_error("That message isn't a question.");
    return;
  }
  if(owl_message_is_answered(m)) {
    owl_function_error("You already answered that question.");
    return;
  }
  cmd = owl_message_get_attribute_value(m, "nocommand");
  if(!cmd) {
    owl_function_error("No no command!");
    return;
  }

  owl_function_command_norv(cmd);
  owl_message_set_isanswered(m);
  return;
}

/ENDREP
DELTA 689 0 734
SVN  =J2 ‰} … ‘*‰{­ q›L testf - . | tar -C ${DESTDIR}${datadir}/lib -xf -ENDREP
DELTA 776 378 346
SVN  ŸTŸ …g  >…t€ ’C‡ ƒ™C žSif test -d /usr/local/include/kerberosIV; then
        CFLAGS=${CFLAGS}\ -I/usr/local/include/kerberosIV
        CPPFLAGS=${CPPFLAGS}\ -I/usr/localENDREP
DELTA 690 0 696
SVN  ŠT‹^/- ’G Œ ;’A€Z ˆK”‚ ˜'œY„ Ž*µ › ´NÃC„ …{ø¢ ŒJþ
nclude "glib/* logout is defined in FreeBSD. */
#define logout logout_
#include <perl.h>
#undef logout-1{}()short *fgcolorbuff;
  shortshorchar *confdir;
  char *startupfileENDREP
DELTA 4 128946 1515
SVN  —›08†o€ ‚L u‚i† ƒLƒ^ H‡+ 0ˆt &Š% i‹L „6€…_ ƒZ“)#include "owl.h"
#include <unistd.h>
#include <stdlib.h>

static const char fileIdent[] = "$Id$";

owl_global g;

void screeninit()

, NULL




#define OWL_DICT_NTESTS  20
#define OWL_UTIL_NTESTS  9
#define OWL_OBARRAY_NTESTS  5
#define OWL_VARIABLE_NTESTS  52
#define OWL_FILTER_NTESTS  23

int main(int argc, char **argv, char **env)
{
  owl_errqueue_init(owl_global_get_errqueue(&g));
  owl_obarray_init(&(g.obarray));

  int numfailures=0;
  if (argc==1 || (argc==2 && 0==strcmp(argv[1],"reg"))) {
    printf("1..%d\n", OWL_UTIL_NTESTS+OWL_DICT_NTESTS+OWL_VARIABLE_NTESTS
           +OWL_FILTER_NTESTS+OWL_OBARRAY_NTESTS);
    numfailures += owl_util_regtest();
    numfailures += owl_dict_regtest();
    numfailures += owl_variable_regtest();
    numfailures += owl_filter_regtest();
    numfailures += owl_obarray_regtest();
    if (numfailures) {
      fprintf(stderr, "# ENDREP
DELTA 776 1080 1405
SVN  †š'†žw›c ÿ- Ž ³ÿ+‡ L²<€S ‚€R³'€C gƒ¿Z€†z Õ]ƒÅs€T „›I… ‹
„ªd V„¶ ›V„·o E„å) †„Õ‡ ‡„Û ¥„â/œ ˆ.…‰€‚y ‚…’0¹ ‚A…”8€[ ÒJ…—™ x…ê Z…ë+ P…ì€H t…îm¸ ¨R…ñU  if (i<0) i=0, *pathpath = owl_util_makepath(file);
    ret=owl_zephyr_loadsubs(path, 1);
    free(path          buff = owl_strdup(owl_message_get_zwriteline(m));
      } else {

        /* Special case a personal reply to a webzephyr user on a class */
        if ((type==1) && !strcasecmp(owl_message_get_opcode(m), OWL_WEBZEPHYR_OPCODE)) {
          class=OWL_WEBZEPHYR_CLASS;
          inst=owl_message_get_sender(m);
          to=OWL_WEBZEPHYR_PRINCIPAL;
        } else if (!strcasecmp(owl_message_get_class(m), OWL_WEBZEPHYR_CLASS) && owl_message_is_loginout(m)) {
          /* Special case LOGIN/LOGOUT notifications on class "webzephyr" */
          class=OWL_WEBZEPHYR_CLASS;
          inst=owl_message_get_instance(m);
          to=OWL_WEBZEPHYR_PRINCIPAL;
        } else if (owl_message_is_loginout(m)) {
          /* Normal LOGIN/LOGOUT messages */
          class="MESSAGE";
          inst="PERSONAL";
          to=owl_message_get_sender(m);
        } else if (type==1) {
          /* Personal reply */
          class="MESSAGE";
          inst="PERSONAL";
          to=owl_message_get_sender(m);
        } else {
          /* General reply */
          class=owl_message_get_class(m);
          inst=owl_message_get_instance(m);
          to=owl_message_get_recipient(m);
          cc=owl_message_get_cc_without_recipient(m);
          if (!strcmp(to, "") || !strcmp(to, "*")) {
            to="";
          } else if (to[0]=='@') {
            /* leave it, to get the realm */
          } else {
            to=owl_message_get_sender(m);
          }
        }

        /* create the command line */
        if (!strcasecmp(owl_message_get_opcode(m), "CRYPT")) {
          buff=owl_strdup("zcrypt");
        } else {
          buff = owl_strdup("zwrite");
        }
        if (strcasecmp(class, "message")) {
                    owl_free(oldbuff);
        }
        if (strcasecmp(inst, "personal")) {
          buff = owl_sprintf("%s -i %s%s%s", oldbuff=buff, owl_getquoting(inst), inst, owl_getquoting(inst));
          owl_free(oldbuff);
        }
        if (*to != '\0') {
          char *tmp, *oldtmp, *tmp2;
          tmp=short_zuser(to);
          if (cc) {
            tmp = owl_util_uniq(oldtmp=tmp, cc, "-");
            owl_free(oldtmp);
            buff = owl_sprintf("%s -C %s", oldbuff=buff, tmp);
            owl_free(oldbuff);
          } else {
            if (owl_global_is_smartstrip(&g)) {
              tmp2=tmp;
              tmp=owl_zephyr_smartstripped_user(tmp2);
              owl_free(tmp2);
            }
            buff = owl_sprintf("%s %s", oldbuff=buff, tmp);
            owl_free(oldbuff);
          }
          owl_free(tmp);
        }
        if (cc) owl_free(cc);
      }snprintf(buff, sizeof(buff), "[% 2d] ", i+1);
    owl_fmtext_append_normal(&fm, buff(un)*filter personalchar *argv[1]ersonalchar *buff;
  char *quoted;

  owl_function_punt(buff, direction);
  owl_free(buff);
}

void owl_function_punt(char *filter, int direction)
{
  owl_filter *f;
  owl_list *fl;
  int ret, i, j;
  fl=owl_global_get_puntlist(&g);

  /* first, create the filter */
  f=malloc(sizeof(owl_filter));

  owl_function_debugmsg("About to filter %s", filter);
  ret=owl_filter_init_fromstring(f, "punt-filter", filterowl_function_debugmsg("found an equivalent punt filter");        owl_filter_free(f);
	return;
      }
    }
  }

  owl_function_debugmsg("punting");global_get_startupfile(&gglobal_get_startupfile(&g);
  owl_util_file_deleteline(filename, buff, 1global_get_startupfile(&g);
    file=fopen(filename, "r"ENDREP
DELTA 461 0 473
SVN  ê@ê{
. ºH ® °º;END",         "popless:scroll-to-bottom", "");ENDREP
DELTA 689 22318 1374
SVN  ‘B“p †X € ^†u€N K‡QŒ ˆ(‰
    # Add MUC to list of MUCs, unless we're just changing nicks.
    push @{$self->MUCs}, $muc unless grep {$_->BaseJID eq $muc->BaseJID} $self->MUCsReturns true if successful, false if this connection was not in the
named MUC.    return 1ENDREP
DELTA 731 0 1167
SVN  ‚¶'‚º5D†D “m €v ‚“h F•|Ž s–V .—L€+ ˆl™_€ƒJ º6£8 ·yÝi‚ e‚•g€I Ÿ‚—die("Error: Must specify a fully-qualified MUC name (e.g. barnowl\@conference.mit.edu)\n")
        unless $muc =~ /@/;History  => {
if($conn->getConnectionFromJID($jid)->MUCLeave(JID => $muc)) {
        queue_admin_msg("$jid has left $muc.");
    } else {
        die("Error: Not joined to $muc");
    }
    my $presence = "JIDs present in " . $m->BaseJID;
    if($m->Anonymous) {
        $presence .= " [anonymous MUC]";
    }
    $presence .= "\n\t";
    $presence .= join("\n\t", map {pp_jid($m, $_);} @jids) . "\n";
    return $presence;
}

sub pp_jid {
    my ($m, $jid) = @_;
    my $nick = $jid->GetResource;
    my $full = $m->GetFullJID($jid);
    if($full && $full ne $nick) {
        return "$nick ($full)";
    } else {
        return "$nick";
    }"""";
    }
    elsif ( $jtype eq 'error' ) {
        $props{replycmd} = ""ENDREP
DELTA 776 4454 326
SVN  –z—% ‰   ‰& ƒ.ŠF‚ ‡Bt‚ W•5‚ n–end > start && # //# ENDREP
DELTA 644 0 481
SVN  „	†…<€| \w€„@Source: barnowl
Section: net
Priority: optional
Maintainer: Sam Hartman <hartmans@debian.org>
Build-Depends: debhelper (>> 4, zip
Standards-Version: 3.5.2

Package: barnowl
Architecture: any
Depends: ${shlibs:Depends}, ${perl:Depends}, libnet-dns-perl, libauthen-sasl-perl, libdigest-sha1-perl, libgssapi-perl, libio-socket-ssl-perl, libpar-perl
Recommends: zephyr-clients
Description: A curses-based tty Jabber and Zephyr client.
 An alternative standalone (doesn't use zwgc) Zephyr (instant
 messaging) client.  Also supports AIM and Jabber.
 Much of the functionality is written in Perl, which is supported as 
 an extension language.
 .
 This is a fork of ktools software's owl Zephyr/AIM client
ENDREP
DELTA 722 5495 1922
SVN  ÊË · €l …Q·	¦ .¼U/* If there's no message here, just run along now */
  if (n->z_message_len == 0)
    return(owl_strdup(""))if(n->z_message_len == 0)
    return 0ENDREP
DELTA 689 4820 1217
SVN  ‘S“<‚[ +  D>€) ŒN‚n€ ‚$/BarnOwl::get_config_dir() . "
    my @moddirs = ();
    push @moddirs, BarnOwl::get_data_dir() . "/modules";
    push @moddirs, BarnOwl::get_config_dir() . "/modules";
    
    for my $dir (@moddirs$BarnOwl::Hooks::getBuddyList->clear;
    $BarnOwl::Hooks::mainLoop->clear;
    $BarnOwl::Hooks::shutdown->clear;
    $BarnOwl::Hooks::receiveMessageENDREP
DELTA 401 0 153
SVN  «|¬ ž ‚ Œ6ž‚ Xª6‚ n«# //# ENDREP
DELTA 703 108 23376
SVN  ¼%Ã*Q‡Q … © {… ’V†=€* ­j™– ŠtÆu„ bÑi¶ Nß}€„ –að8‹ `£3 …t‡yœ Š y„ ‘X—y„ ’T©Qowl_fmtext_cache * f = fmtext_cache_next;if(buff == NULL) {
      buff=owl_sprintf("  %-15.15s: %-35.35s\n", owl_pair_get_key(p), "<error>");
      if(buff == NULL)
        buff=owl_strdup("   <error>\n");
    }owl_message_format(m);owl_char *q;
  if(!owl_message_is_question(m)) return 0;
 /* caller must free return value */
char *owl_message_get_cc_without_recipient(owl_message *m)
{
  char *cc, *out, *end, *user, *recip;

  cc = owl_message_get_cc(m);
  if (cc == NULL)
    return NULL;

  recip = short_zuser(owl_message_get_recipient(m));
  out = owl_malloc(strlen(cc));
  end = out;

  user = strtok(cc, " ");
  while (user != NULL) {
    if (strcasecmp(user, recip) != 0) {
      strcpy(end, user);
      end[strlen(user)] = ' ';
      end += strlen(user) + 1;
    }
    user = strtok(NULL, " ");
  }
  end[0] = '\0';

  owl_free(recip);
  owl_free(cc);

  if (strlen(out) == 0) {
    owl_free(out);
    out = NULL;
  }
  int len;
owl_zephyr_get_zsig(n, &len)owl_owl_ENDREP
DELTA 401 460 237
SVN  ‚%‚"	*  ª s2%s %s", (__pred)?"ok":(numfailed++,"not okENDREP
DELTA 243 403 5201
SVN  ÁIÀ*H„n  „ „„ ”­ —~ ‚• ƒx™€G „(„ …i¡F€\ _«r€Q ‚k§q Z®:€A _±jowl_owl_if (z->class == NULL &&
      z->inst == NULL#if !(OWL_STDERR_REDIR)
      strcat(openline, " 2> /dev/null");
#endifowl_nt i, j;
  char toline[LINE];

  if (z->message) owl_free(z->message);

  j=owl_list_get_size(&(z->recips));
  if (j>0 && z->cc) {
    strcpy(toline, "CC: ");
    for (i=0; i<j; i++) {
      if (strcmp(z->realm, "")) {
	      } else {
	sprintf(toline, "%s%s ", toline, (char *) owl_list_get_element(&(z->recips), i));
      }
    }
    z->message=owl_sprintf("%s\n%s", toline, msg);
  } else {
    z->message=owl_strdup(msg);
  }send_zephyr(z->opcode, z->zsig, z->class, z->inst, to, z->messageENDREP
DELTA 709 0 519
SVN  ÄÃ{;‚4 ‹| € ‰x!† ‚5— ‰l™b¢ Ž6£iŒ  ²&† 	³M‚ ´]€b ‰h¶, ƒ`À2owl_filterelement *fe, *op;
  int i = 0, skip;

  if(!argc) return NULL;

  fe = owl_malloc(sizeof(owl_filterelement));
  owl_filterelement_create(fe), *tmpnt ret;
  if(!f->root) return 0;
 not ok can'tnot okokint numfailed=0;
  owl_message m;
  owl_filter f1, f2, f3, f4;

  owl_list_create(&(g.filterlist))ENDREP
DELTA 432 352 101
SVN  ‚—T‚³w# £U €’p Ö3£9´ ›Yú
€‰ s‚–aadd_variable(owl_vardict * vardict,
                                    owl_variable * var) {
  owl_dict_insert_element(vardict, var->name, (void*)var, NULL);
}

owl_variable * owl_variable_newvar(char *name, char *summary, char * description) {
  owl_variable * var = (owl_variable*)owl_malloc(sizeof(owl_variable));
  memset(var, 0, sizeof(owl_variable));
  var->name = owl_strdup(name);
  var->summary = owl_strdup(summary);
  var->description = owl_strdup(description);
  return var;
}

void owl_variable_dict_newvar_string(owl_vardict * vd, char *name, char *summ, char * desc, char * initval) {
  owl_variable * var = owl_variable_newvar(name, summ, desc);
  var->type = OWL_VARIABLE_STRING;
  var->pval_default = owl_strdup(initval);
  var->set_fn = owl_variable_string_set_default;
  var->set_fromstring_fn = owl_variable_string_set_fromstring_default;
  var->get_fn = owl_variable_get_default;
  var->get_tostring_fn = owl_variable_string_get_tostring_default;
  var->free_fn = owl_variable_free_default;
  var->set_fn(var, initval);
  owl_variable_dict_add_variable(vd, var);
}

void owl_variable_dict_newvar_int(owl_vardict * vd, char *name, char *summ, char * desc, int initval) {
  owl_variable * var = owl_variable_newvar(name, summ, desc);
  var->type = OWL_VARIABLE_INT;
  var->ival_default = initval;
  var->validate_fn = owl_variable_int_validate_default;
  var->set_fn = owl_variable_int_set_default;
  var->set_fromstring_fn = owl_variable_int_set_fromstring_default;
  var->get_fn = owl_variable_get_default;
  var->get_tostring_fn = owl_variable_int_get_tostring_default;
  var->free_fn = owl_variable_free_default;
  var->val = owl_malloc(sizeof(int));
  var->set_fn(var, &initval);
  owl_variable_dict_add_variable(vd, var);
}

void owl_variable_dict_newvar_bool(owl_vardict * vd, char *name, char *summ, char * desc, int initval) {
  owl_variable * var = owl_variable_newvar(name, summ, desc);
  var->type = OWL_VARIABLE_BOOL;
  var->ival_default = initval;
  var->validate_fn = owl_variable_bool_validate_default;
  var->set_fn = owl_variable_bool_set_default;
  var->set_fromstring_fn = owl_variable_bool_set_fromstring_default;
  var->get_fn = owl_variable_get_default;
  var->get_tostring_fn = owl_variable_bool_get_tostring_default;
  var->free_fn = owl_variable_free_default;
  var->val = owl_malloc(sizeof(int));
  var->set_fn(var, &initval);
  owl_variable_dict_add_variable(vd, var)  owl_variable * v;

  in_regtest = 1;

  printf("#   owl_variable_dict_newvar_string(&vd, "stringvar", "", "", "testval");
  FAIL_UNLESS("get new string var", NULL != (v = owl_variable_get(&vd, "stringvar", OWL_VARIABLE_STRING)));
  FAIL_UNLESS("get new string val", !strcmp("testval", owl_variable_get_string(&vd, "stringvar")));
  owl_variable_set_string(&vd, "stringvar", "new val");
  FAIL_UNLESS("update string val", !strcmp("new val", owl_variable_get_string(&vd, "stringvar")));

  owl_variable_dict_newvar_int(&vd, "intvar", "", "", 47);
  FAIL_UNLESS("get new int var", NULL != (v = owl_variable_get(&vd, "intvar", OWL_VARIABLE_INT)));
  FAIL_UNLESS("get new int val", 47 == owl_variable_get_int(&vd, "intvar"));
  owl_variable_set_int(&vd, "intvar", 17);
  FAIL_UNLESS("update bool val", 17 == owl_variable_get_int(&vd, "intvar"));

  owl_variable_dict_newvar_bool(&vd, "boolvar", "", "", 1);
  FAIL_UNLESS("get new bool var", NULL != (v = owl_variable_get(&vd, "boolvar", OWL_VARIABLE_BOOL)));
  FAIL_UNLESS("get new bool val", owl_variable_get_bool(&vd, "boolvar"));
  owl_variable_set_bool_off(&vd, "boolvar");
  FAIL_UNLESS("update string val", !owl_variable_get_bool(&vd, "boolvar"));

  owl_variable_dict_free(&vd);

  // if (numfailed) printf("*** WARNING: failures encountered with owl_variable\n");
  printf("# ENDREP
DELTA 725 0 5041
SVN  ÿ€C\ „i € ä^…“ ‰Mér€B ‹Só: . "/lib");
use lib(get_config_dir() . "/lib");

# perlconfig.c will set this to the value of the -c command-line
# switch, if present. && $m->is_personalif($m->opcode) {
        $header .= " [" . $m->opcode . "]";
    }ENDREP
DELTA 693 8425 2240
SVN  ®®@‡v ‘9  Œ$˜t€ ˆm¥1€†oowl_get_datadir();
	OUTPUT:
	RETVAL

char * 
get_config_dir ()
	CODE:
		RETVAL = (char *) owl_global_get_confdir(&g);
	OUTPUT:
	RETVAL	
char *
wordwrap(in, cols)
	char *in
	int cols
	PREINIT:
		char *rv = NULL;
	CODE:
		rv = owl_text_wordwrap(in, cols);
		RETVAL = rv;	
	OUTPUT:
		RETVAL
	CLEANUP:
		if (rv) owl_free(rv);

void
new_variable_string_internal(name, ival, summ, desc)
	char * name
	char * ival
	char * summ
	char * desc
	CODE:
	owl_variable_dict_newvar_string(owl_global_get_vardict(&g),
					name,
					summ,
					desc,
					ival);

void
new_variable_int_internal(name, ival, summ, desc)
	char * name
	int ival
	char * summ
	char * desc
	CODE:
	owl_variable_dict_newvar_int(owl_global_get_vardict(&g),
				     name,
				     summ,
				     desc,
				     ival);

void
new_variable_bool_internal(name, ival, summ, desc)
	char * name
	int ival
	char * summ
	char * desc
	CODE:
	owl_variable_dict_newvar_bool(owl_global_get_vardict(&g),
				      name,
				      summ,
				      desc,
				      ival);
ENDREP
DELTA 500 0 4151
SVN  Ñßhn˜ { … |Ÿ ƒ'€‚# ŒI…#€„v ‚.–	€‹! |˜6ˆ i¨< …©&€ƒq ‚]±x… Ž:´V… RÃ‘ [Äh… JÅD… ƒÇ	 ‚%Ê… MÌ> ‚KÍ€  	ÐBarnOBarnOwl::bootstrap", boot_BarnO
{
  HV *h, *stash;
  SV *hr;
  char *ptr, *blessas, *type;
  int i, j;
  owl_pair *pair;
  owl_filter *wrap;

  if (!m) return &PL_sv_undef;
  wrap = owl_global_get_filter(&g, "wordwrap");
  if(!wrap) {
      owl_function_error("wrap filter is not defined");
      return &PL_sv_undef;
  }
  hv_store(h, "should_wordwrap",
	   strlen("should_wordwrap"), newSViv(
					      owl_filter_message_match(wrap, m)),0);

  type = owl_message_get_type(m);
  if(!type || !*type) type = "generic";
  type = owl_strdup(type);
  type[0] = toupper(type[0]);
  blessas = owl_sprintf("BarnOwl::Message::%s", type);

  hr = sv_2mortal(newRV_noinc((SV*)h));
  stash =  gv_stashpv(blessas,0);
  if(!stash) {
    owl_function_error("No such class: %s for message type %s", blessas, owl_message_get_type(m));
    stash = gv_stashpv("BarnOwl::Message", 1);
  }
  hr = sv_bless(hr,stash);
  owl_free(type);
  owl_free(blessas);
  return hr;
}/* XXX TODO: Messages should round-trip properly between
   message2hashref and hashref2message. Currently we lose
   zephyr-specific properties stored in the ZNotice_t
 */
owl_message * owl_perlconfig_hashref2message(SV *msg)
{
  owl_message * m;
  HE * ent;
  I32 count, len;
  char *key,*val;
  HV * hash;
  struct tm tm;

  hash = (HV*)SvRV(msg);

  m = owl_malloc(sizeof(owl_message));
  owl_message_init(m);

  count = hv_iterinit(hash);
  while((ent = hv_iternext(hash))) {
    key = hv_iterkey(ent, &len);
    val = SvPV_nolen(hv_iterval(hash, ent));
    if(!strcmp(key, "type")) {
      owl_message_set_type(m, val);
    } else if(!strcmp(key, "direction")) {
      owl_message_set_direction(m, owl_message_parse_direction(val));
    } else if(!strcmp(key, "private")) {
      SV * v = hv_iterval(hash, ent);
      if(SvTRUE(v)) {
        owl_message_set_isprivate(m);
      }
    } else if (!strcmp(key, "hostname")) {
      owl_message_set_hostname(m, val);
    } else if (!strcmp(key, "zwriteline")) {
      owl_message_set_zwriteline(m, val);
    } else if (!strcmp(key, "time")) {
      m->timestr = owl_strdup(val);
      strptime(val, "%a %b %d %T %Y", &tm);
      m->time = mktime(&tm);
    } else {
      owl_message_set_attribute(m, key, val);
    }
  }
  if(owl_message_is_type_admin(m)) {
    if(!owl_message_get_attribute_value(m, "adminheader"))
      owl_message_set_attribute(m, "adminheader", "");
  }
  return m;
}initperlBarnOwl::id", TRUE);
  perl_get_sv("BarnOwl::class", TRUE);
  perl_get_sv("BarnOwl::instance", TRUE);
  perl_get_sv("BarnOwl::recipient", TRUE);
  perl_get_sv("BarnOwl::sender", TRUE);
  perl_get_sv("BarnOwl::realm", TRUE);
  perl_get_sv("BarnOwl::opcode", TRUE);
  perl_get_sv("BarnOwl::zsig", TRUE);
  perl_get_sv("BarnOwl::msg", TRUE);
  perl_get_sv("BarnOwl::time", TRUE);
  perl_get_sv("BarnOwl::host", TRUE);
  perl_get_av("BarnOwl::fields", TRUE);

  if(file) {
    SV * cfg = get_sv("BarnOBarnOBarnOBarnOwl::Hooks::_BarnOV *rvdSP;
;
  if (!owl_perlconfig_is_function("BarnOwl::Hooks::_mainloop_hook"))
    return;
  PUSHMARK(SP) ;
  call_pv("BarnOwl::Hooks::_ENDREP
DELTA 689 6792 167
SVN  †  †   ‚ø € ƒ¦c‚ø"# 08.04.05(Fri) slipstream@yandex.ru for compapility with ejabberd since it reuses stream id
    delete($self->{SIDS}->{$currsid}) unless ($currsid eq $sid†  ïhðc{€{ ïh              <y>foo</y>
#                  </x>
#                  <z>5</z>
#                  <z>6</z>
#                </ENDREP
id: m.1t.r777/31962
type: file
pred: m.0.r717/725
count: 88
text: 777 5442 7289 82119 63c1342190945aa1c606f8dc29d26d10
props: 4 171599 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/commands.c
copyroot: 734 /branches/barnowl_unicode

id: i.1t.r777/32224
type: file
pred: i.0.r689/48022
count: 39
text: 777 12755 77 3786 2ece9a586e64e65b7f522449e843e2bf
props: 4 171313 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/Makefile.in
copyroot: 734 /branches/barnowl_unicode

id: 64.1t.r777/32487
type: file
pred: 64.0.r706/440
count: 4
text: 777 19486 720 792 ce15ff2ac9089b23a515582b475be360
cpath: /branches/barnowl_unicode/owl/debian/control
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 13
README.Debian
V 19
file 6a.0.r645/1988
K 12
barnowl.dirs
V 20
file 65.1n.r645/1435
K 15
barnowl.install
V 19
file 6c.0.r645/1624
K 9
changelog
V 18
file 66.0.r706/600
K 6
compat
V 19
file 6b.0.r645/1297
K 7
control
V 21
file 64.1t.r777/32487
K 9
copyright
V 19
file 67.0.r644/6448
K 5
rules
V 19
file 68.0.r645/1772
K 12
shlibs.local
V 19
file 69.0.r644/6835
END
ENDREP
id: 63.1t.r777/33079
type: dir
pred: 63.0.r706/1140
count: 6
text: 777 32698 368 368 5e047dafb3d84f30ac5b881f2f38152b
cpath: /branches/barnowl_unicode/owl/debian
copyroot: 734 /branches/barnowl_unicode

id: w.1t.r777/33282
type: file
pred: w.1t.r776/4803
count: 157
text: 777 14297 3729 102263 c4a2397a964f5767d92adf7a51cc31fb
props: 4 172752 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/functions.c
copyroot: 734 /branches/barnowl_unicode

id: 13.1t.r777/33550
type: file
pred: 13.0.r461/500
count: 25
text: 777 18053 67 13691 c37f84658691abbb9055e66d5395ada3
props: 4 173042 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/keys.c
copyroot: 734 /branches/barnowl_unicode

id: 1g.1t.r777/33809
type: file
pred: 1g.1t.r776/5067
count: 55
text: 777 19389 71 19331 013c4dedbb2eeca31c70ae167f093168
props: 4 173614 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/util.c
copyroot: 734 /branches/barnowl_unicode

id: r.1t.r777/34070
type: file
pred: r.0.r401/921
count: 3
text: 777 20845 37 5636 64fa1c2f02d8dcd260352ee8c9cb150f
props: 4 174477 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/dict.c
copyroot: 734 /branches/barnowl_unicode

id: 17.1t.r777/34325
type: file
pred: 17.1t.r776/5582
count: 68
text: 777 20905 1072 25002 3750a0c9c8d31f569959d070b8333064
props: 4 174760 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/message.c
copyroot: 734 /branches/barnowl_unicode

id: 3m.1t.r777/34591
type: file
pred: 3m.0.r725/7711
count: 49
text: 777 27040 258 16451 7e6aba200bcc2c7ef63f5a36d62e93cd
props: 225 42220 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/perlwrap.pm
copyroot: 734 /branches/barnowl_unicode

id: 62.1t.r777/34858
type: file
pred: 62.0.r636/1220
count: 2
text: 777 981 463 2699 8ae98036c2f7ecde5d278e345ae90dde
cpath: /branches/barnowl_unicode/owl/obarray.c
copyroot: 734 /branches/barnowl_unicode

id: x.1t.r777/35064
type: file
pred: x.1t.r776/5842
count: 48
text: 777 1469 2584 19759 216564f35c10bb421df385c95972e10e
props: 4 177082 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/global.c
copyroot: 734 /branches/barnowl_unicode

id: p.1t.r777/35326
type: file
pred: p.1t.r776/6096
count: 31
text: 777 12855 186 3982 8fdeefaf19e1fd8759fe0e1bc456d7c0
props: 4 178541 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/configure.in
copyroot: 734 /branches/barnowl_unicode

id: 77.1t.r777/35591
type: file
pred: 77.0.r732/200
count: 2
text: 777 20434 384 2492 b161bbf7059dcd93d1ff89aec8d8e73a
cpath: /branches/barnowl_unicode/owl/perl/lib/BarnOwl/ModuleLoader.pm
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 15
ModuleLoader.pm
V 21
file 77.1t.r777/35591
END
ENDREP
id: 76.1t.r777/35886
type: dir
pred: 76.0.r732/442
count: 2
text: 777 35821 52 52 4551df3e6b30ca2c5b72d6fc9ec35ba9
cpath: /branches/barnowl_unicode/owl/perl/lib/BarnOwl
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 7
BarnOwl
V 20
dir 76.1t.r777/35886
K 6
Module
V 19
dir 78.0.r689/50053
END
ENDREP
id: 4b.1t.r777/36187
type: dir
pred: 4b.0.r732/692
count: 16
text: 777 36096 78 78 5e46c9f09e6ebb1628034894d605f907
cpath: /branches/barnowl_unicode/owl/perl/lib
copyroot: 734 /branches/barnowl_unicode

id: 5q.20.r777/36390
type: file
pred: 5q.1r.r689/50444
count: 3
text: 777 31614 322 116835 8382bcbf0b5d3832fed1892ffa4120a5
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/XML/Stream.pm
copyroot: 689 /trunk/owl/perl/modules/Jabber/lib/XML

PLAIN
K 6
Stream
V 17
dir 5e.0.r467/593
K 9
Stream.pm
V 21
file 5q.20.r777/36390
END
ENDREP
id: 5d.20.r777/36735
type: dir
pred: 5d.1r.r689/50766
count: 4
text: 777 36643 79 79 d57fb7142ce72d37da615111780a3d6d
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/XML
copyroot: 689 /trunk/owl/perl/modules/Jabber/lib/XML

id: 7h.1t.r777/36972
type: file
pred: 7h.0.r731/1190
count: 11
text: 777 18447 918 40245 95f55a026391926ed59cf7e52165d7b4
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module/Jabber.pm
copyroot: 734 /branches/barnowl_unicode

id: 7k.1t.r777/37221
type: file
pred: 7k.0.r719/202
count: 2
text: 777 18143 276 2457 19fee6cd42272323b08312213e82fc1c
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module/Jabber/Connection.pm
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 13
Connection.pm
V 21
file 7k.1t.r777/37221
K 20
ConnectionManager.pm
V 19
file 7j.0.r694/1047
END
ENDREP
id: 7i.1t.r777/37592
type: dir
pred: 7i.0.r719/520
count: 3
text: 777 37478 101 101 5044bf6bf7684d3c9361ad7172b7a6a1
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module/Jabber
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 6
Jabber
V 20
dir 7i.1t.r777/37592
K 9
Jabber.pm
V 21
file 7h.1t.r777/36972
END
ENDREP
id: 7g.1t.r777/37928
type: dir
pred: 7g.0.r731/1479
count: 12
text: 777 37833 82 82 3abdcd732a77a0e037e12d5c5814627c
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 7
Message
V 17
dir 7e.0.r718/503
K 6
Module
V 20
dir 7g.1t.r777/37928
END
ENDREP
id: 7d.1t.r777/38251
type: dir
pred: 7d.0.r731/1752
count: 12
text: 777 38162 76 76 ed649a7f300fa0d6c528dd52ec76ef29
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl
copyroot: 734 /branches/barnowl_unicode

id: 5t.1z.r777/38478
type: file
pred: 5t.0.r528/325
count: 3
text: 777 0 958 5695 317e4922bbc2104fd1c185066118a9c5
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/Net/Jabber/MUC.pm
copyroot: 689 /trunk/owl/perl/modules/Jabber/lib/Net

PLAIN
K 9
Client.pm
V 21
file 4f.0.r448/258686
K 12
Component.pm
V 21
file 4g.1s.r689/59824
K 7
Data.pm
V 21
file 4h.1s.r689/57032
K 8
Debug.pm
V 21
file 4i.0.r448/260044
K 8
Dialback
V 20
dir 4j.1s.r689/58154
K 11
Dialback.pm
V 21
file 4m.1s.r689/59100
K 5
IQ.pm
V 21
file 4n.1s.r689/56797
K 6
JID.pm
V 21
file 4o.0.r448/258045
K 6
Key.pm
V 21
file 4p.1s.r689/58864
K 6
Log.pm
V 21
file 4q.1s.r689/58388
K 6
MUC.pm
V 21
file 5t.1z.r777/38478
K 10
Message.pm
V 21
file 4r.1s.r689/58624
K 13
Namespaces.pm
V 18
file 4s.0.r462/898
K 11
Presence.pm
V 21
file 4t.1s.r689/56316
K 11
Protocol.pm
V 21
file 4u.1s.r689/59581
K 9
Server.pm
V 21
file 4v.1s.r689/56557
K 9
Stanza.pm
V 21
file 4w.1s.r689/59341
K 6
XDB.pm
V 21
file 4x.1s.r689/57269
END
ENDREP
id: 4e.1z.r777/39474
type: dir
pred: 4e.1s.r689/60811
count: 6
text: 777 38726 735 735 12784adc1b97d1cab1a76a8260e07fb6
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/Net/Jabber
copyroot: 689 /trunk/owl/perl/modules/Jabber/lib/Net

PLAIN
K 6
Jabber
V 20
dir 4e.1z.r777/39474
K 9
Jabber.pm
V 21
file 4y.1s.r689/52969
K 4
XMPP
V 19
dir 4z.1s.r694/2877
K 7
XMPP.pm
V 21
file 5c.1s.r689/52739
END
ENDREP
id: 4d.1z.r777/39888
type: dir
pred: 4d.1s.r694/3268
count: 14
text: 777 39720 155 155 6befbfdf69d24322ad93076c9c9b555d
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/Net
copyroot: 689 /trunk/owl/perl/modules/Jabber/lib/Net

PLAIN
K 7
BarnOwl
V 20
dir 7d.1t.r777/38251
K 3
Net
V 20
dir 4d.1z.r777/39888
K 3
XML
V 20
dir 5d.20.r777/36735
END
ENDREP
id: 7c.1t.r777/40250
type: dir
pred: 7c.0.r731/2051
count: 12
text: 777 40127 110 110 da244e31150d32b3f435e3b1b0c8cdba
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber/lib
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 11
Makefile.PL
V 20
file 7l.0.r689/61684
K 3
inc
V 19
dir 7m.0.r689/64277
K 3
lib
V 20
dir 7c.1t.r777/40250
END
ENDREP
id: 7b.1t.r777/40598
type: dir
pred: 7b.0.r731/2349
count: 13
text: 777 40471 114 114 836b14a23640dad4778131603d0c3670
props: 715 291 36 0 c99a04e888ce19b39116b15dc82c3a1a
cpath: /branches/barnowl_unicode/owl/perl/modules/Jabber
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 6
Jabber
V 20
dir 7b.1t.r777/40598
END
ENDREP
id: 4c.1t.r777/40922
type: dir
pred: 4c.0.r731/2623
count: 79
text: 777 40868 41 41 39b2278bdfe509eafd10eac16602f38b
cpath: /branches/barnowl_unicode/owl/perl/modules
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 3
lib
V 20
dir 4b.1t.r777/36187
K 7
modules
V 20
dir 4c.1t.r777/40922
END
ENDREP
id: 4a.1t.r777/41219
type: dir
pred: 4a.0.r732/931
count: 93
text: 777 41130 76 76 813032f25d037fa75046e8ee34d4a8ab
cpath: /branches/barnowl_unicode/owl/perl
copyroot: 734 /branches/barnowl_unicode

id: 3y.1t.r777/41418
type: file
pred: 3y.0.r401/1166
count: 1
text: 777 22004 62 290 e52186cfaba6912d2878921dede5505e
props: 401 1124 29 0 ff5c3c1f7bdb48ba0201950780ae7e31
cpath: /branches/barnowl_unicode/owl/test.h
copyroot: 734 /branches/barnowl_unicode

id: 1h.1t.r777/41675
type: file
pred: 1h.0.r713/7622
count: 46
text: 777 23225 3790 39415 c196ea6d09f87a8d84d31b45fcc79cf7
props: 4 181974 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/variable.c
copyroot: 734 /branches/barnowl_unicode

id: t.1t.r777/41941
type: file
pred: t.0.r709/541
count: 31
text: 777 22823 379 8699 9478f741082fddf9955755ee29f86d0a
props: 4 181689 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/filter.c
copyroot: 734 /branches/barnowl_unicode

id: 1v.1t.r777/42200
type: file
pred: 1v.0.r722/9695
count: 28
text: 777 27322 1046 5952 3c990fb26d2fa60860fe8b765d3e2a3b
props: 11 7891 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/perlglue.xs
copyroot: 734 /branches/barnowl_unicode

id: 3n.1t.r777/42465
type: file
pred: 3n.0.r708/1245
count: 24
text: 777 28395 3195 12264 113de883be361d243c5c6463838c6927
props: 225 43796 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/perlconfig.c
copyroot: 734 /branches/barnowl_unicode

id: 19.1t.r777/42734
type: file
pred: 19.1t.r776/6876
count: 118
text: 777 4079 1336 25853 23e17582c92bb169216015836dc1ccae
props: 4 170743 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/owl.c
copyroot: 734 /branches/barnowl_unicode

id: 1a.1t.r777/42996
type: file
pred: 1a.1t.r776/7132
count: 140
text: 777 13066 234 17886 28b35924c06faac46c9b2fa0d1412a8d
props: 4 172467 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/owl.h
copyroot: 734 /branches/barnowl_unicode

id: 1k.1t.r777/43258
type: file
pred: 1k.0.r722/10122
count: 63
text: 777 20229 178 26015 e7d8a5a137fe670af8b8010363ec0972
props: 4 173899 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/zephyr.c
copyroot: 734 /branches/barnowl_unicode

id: 1e.1t.r777/43522
type: file
pred: 1e.0.r633/77
count: 8
text: 777 13323 947 3504 43d3c9ee369f124d7463b0d6a75309f1
props: 4 179113 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/tester.c
copyroot: 734 /branches/barnowl_unicode

id: 7y.1y.r777/43781
type: dir
pred: 7y.0.r738/6796
count: 1
text: 738 6733 50 50 c452ca89f38fdfa2fc07340f55790ecd
cpath: /branches/barnowl_unicode/owl/t
copyfrom: 775 /trunk/owl/t

id: 1l.1t.r777/43963
type: file
pred: 1l.1t.r776/7641
count: 20
text: 777 22091 706 8234 9084b7e3a92a28da4f7a30a5abb63a5b
props: 4 181402 81 0 685faf6a4230ea531a31a12e4b3cb565
cpath: /branches/barnowl_unicode/owl/zwrite.c
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 4
BUGS
V 20
file 5u.0.r689/48450
K 9
ChangeLog
V 18
file h.0.r393/2438
K 11
Makefile.in
V 20
file i.1t.r777/32224
K 4
NEWS
V 16
file j.0.r5/8251
K 6
README
V 18
file 5r.0.r710/316
K 4
TODO
V 18
file 5s.0.r619/324
K 5
aim.c
V 20
file 22.1t.r776/6355
K 9
athstatic
V 18
file 1x.0.r533/117
K 7
buddy.c
V 20
file 3o.0.r234/19726
K 11
buddylist.c
V 20
file 3d.0.r238/12168
K 5
cmd.c
V 19
file k.1t.r776/7389
K 11
codelist.pl
V 19
file l.0.r212/11814
K 10
commands.c
V 20
file m.1t.r777/31962
K 11
config.h.in
V 18
file n.0.r707/3406
K 12
configure.in
V 20
file p.1t.r777/35326
K 9
context.c
V 18
file q.0.r209/8754
K 6
debian
V 20
dir 63.1t.r777/33079
K 6
dict.c
V 20
file r.1t.r777/34070
K 3
doc
V 18
dir 1n.0.r589/1227
K 9
editwin.c
V 16
file s.0.r733/68
K 14
encapsulate.pl
V 20
file 3l.0.r225/44724
K 10
errqueue.c
V 20
file 3p.0.r242/19206
K 8
examples
V 17
dir 1s.0.r226/477
K 8
filter.c
V 20
file t.1t.r777/41941
K 15
filterelement.c
V 16
file u.0.r600/52
K 8
fmtext.c
V 18
file v.0.r711/1132
K 11
functions.c
V 20
file w.1t.r777/33282
K 8
global.c
V 20
file x.1t.r777/35064
K 6
help.c
V 17
file y.0.r712/145
K 9
history.c
V 17
file z.0.r283/439
K 10
install.sh
V 19
file 21.0.r122/7916
K 12
keybinding.c
V 18
file 10.0.r640/656
K 8
keymap.c
V 19
file 11.0.r209/8965
K 10
keypress.c
V 18
file 12.0.r359/996
K 6
keys.c
V 21
file 13.1t.r777/33550
K 7
libfaim
V 16
dir 23.0.r716/87
K 6
list.c
V 17
file 14.0.r635/59
K 9
logging.c
V 19
file 15.0.r730/9209
K 9
mainwin.c
V 20
file 16.0.r693/11667
K 9
message.c
V 21
file 17.1t.r777/34325
K 13
messagelist.c
V 18
file 18.0.r558/539
K 13
mkinstalldirs
V 19
file 3v.0.r346/1232
K 11
muxevents.c
V 18
file 3w.0.r359/781
K 9
obarray.c
V 21
file 62.1t.r777/34858
K 5
owl.c
V 21
file 19.1t.r777/42734
K 5
owl.h
V 21
file 1a.1t.r777/42996
K 6
pair.c
V 18
file 1z.0.r102/270
K 4
perl
V 20
dir 4a.1t.r777/41219
K 12
perlconfig.c
V 21
file 3n.1t.r777/42465
K 11
perlglue.xs
V 21
file 1v.1t.r777/42200
K 11
perlwrap.pm
V 21
file 3m.1t.r777/34591
K 9
popexec.c
V 19
file 3x.0.r364/1658
K 8
popwin.c
V 18
file 1b.0.r373/263
K 7
regex.c
V 19
file 1c.0.r597/1404
K 10
stubgen.pl
V 17
file 1d.0.r5/8659
K 7
style.c
V 19
file 3f.0.r280/1095
K 11
stylefunc.c
V 19
file 3g.0.r534/4461
K 10
svkversion
V 18
file 6d.0.r660/834
K 1
t
V 20
dir 7y.1y.r777/43781
K 6
test.h
V 21
file 3y.1t.r777/41418
K 8
tester.c
V 21
file 1e.1t.r777/43522
K 6
text.c
V 20
file 1f.1t.r776/5327
K 7
timer.c
V 20
file 3e.0.r143/11961
K 6
util.c
V 21
file 1g.1t.r777/33809
K 10
variable.c
V 21
file 1h.1t.r777/41675
K 6
view.c
V 19
file 1i.0.r586/9731
K 9
viewwin.c
V 19
file 1j.0.r362/1349
K 12
zbuddylist.c
V 18
file 3u.0.r330/561
K 8
zcrypt.c
V 20
file 1y.1t.r776/6613
K 8
zephyr.c
V 21
file 1k.1t.r777/43258
K 8
zwrite.c
V 21
file 1l.1t.r777/43963
END
ENDREP
PLAIN
K 9
svk:merge
V 292
06e3988a-d725-0410-af47-c5dd11e74598:/local/barnowl:1806
8baf6839-b125-0410-9df9-922793c80423:/local/barnowl:20981
8baf6839-b125-0410-9df9-922793c80423:/local/owl:15641
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/branches/par:19594
fe09232e-8620-0410-8e36-e6b4839e121d:/branches/par:688
K 10
svn:ignore
V 168
Makefile
TAGS
autom4te.cache
barnowl
config.h
config.in
config.log
config.status
configure
core
jabber.log
owl_prototypes.*
perlglue.c
perlwrap.c
tester
varstubs.c
*.o

END
ENDREP
id: g.1t.r777/47520
type: dir
pred: g.1t.r776/10597
count: 670
text: 777 44226 2760 2760 e2d2eaeee56b94513e29b5c2118d49d8
props: 777 46999 508 0 2cb6100d9601bbb1a23f89eb9c306ecc
cpath: /branches/barnowl_unicode/owl
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 7
CVSROOT
V 16
dir 4.0.r112/895
K 11
conf.alexmv
V 17
dir 5z.0.r589/884
K 12
conf.asedeno
V 18
dir 3z.0.r617/2908
K 3
owl
V 19
dir g.1t.r777/47520
END
ENDREP
PLAIN
K 9
svk:merge
V 133
bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:19588
K 19
svnmerge-integrated
V 12
/trunk:1-776
END
ENDREP
id: 1.1t.r777/48156
type: dir
pred: 1.1t.r776/11015
count: 702
text: 777 47776 153 153 2d54bc9dec5bcc32518f057b7767b15c
props: 777 47942 201 0 973e37bc1d28bae02cb3dd47a5ddb139
cpath: /branches/barnowl_unicode
copyroot: 734 /branches/barnowl_unicode

PLAIN
K 14
barnowl_sqlite
V 19
dir 1.1u.r765/15581
K 15
barnowl_unicode
V 19
dir 1.1t.r777/48156
K 7
owl-1_2
V 15
dir 1.4.r116/49
K 7
owl-2_0
V 18
dir 1.5.r306/13541
K 14
owl-2_0-branch
V 18
dir 1.1f.r317/6751
K 12
perl-message
V 19
dir 1.1m.r603/14387
END
ENDREP
id: 2.0.r777/48670
type: dir
pred: 2.0.r776/11523
count: 38
text: 777 48406 251 251 17e68fb633f55130d87cb805d376d30e
cpath: /branches
copyroot: 0 /

PLAIN
K 8
branches
V 18
dir 2.0.r777/48670
K 4
tags
V 16
dir 3.0.r391/435
K 5
trunk
V 17
dir 1.0.r775/3957
END
ENDREP
id: 0.0.r777/48937
type: dir
pred: 0.0.r776/11790
count: 777
text: 777 48819 105 105 2b600f9ca6971e579489fe5ec887f164
props: 733 4162 257 0 fd5e5f6349f10185a593dad0d1ea94a3
cpath: /
copyroot: 0 /

g.1t.t776-1 modify false true /branches/barnowl_unicode/owl

64.1t.t776-1 modify true false /branches/barnowl_unicode/owl/debian/control

1k.1t.t776-1 modify true false /branches/barnowl_unicode/owl/zephyr.c

7y._0.t776-1 add false false /branches/barnowl_unicode/owl/t
775 /trunk/owl/t
77.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perl/lib/BarnOwl/ModuleLoader.pm

r.1t.t776-1 modify true false /branches/barnowl_unicode/owl/dict.c

17.1t.t776-1 modify true false /branches/barnowl_unicode/owl/message.c

3y.1t.t776-1 modify true false /branches/barnowl_unicode/owl/test.h

1l.1t.t776-1 modify true false /branches/barnowl_unicode/owl/zwrite.c

t.1t.t776-1 modify true false /branches/barnowl_unicode/owl/filter.c

1h.1t.t776-1 modify true false /branches/barnowl_unicode/owl/variable.c

3m.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perlwrap.pm

1v.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perlglue.xs

3n.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perlconfig.c

5q._2.t776-1 modify true false /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/XML/Stream.pm

5t._1.t776-1 modify true false /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/Net/Jabber/MUC.pm

62.1t.t776-1 modify true false /branches/barnowl_unicode/owl/obarray.c

x.1t.t776-1 modify true false /branches/barnowl_unicode/owl/global.c

i.1t.t776-1 modify true false /branches/barnowl_unicode/owl/Makefile.in

m.1t.t776-1 modify true false /branches/barnowl_unicode/owl/commands.c

19.1t.t776-1 modify true false /branches/barnowl_unicode/owl/owl.c

p.1t.t776-1 modify true false /branches/barnowl_unicode/owl/configure.in

1e.1t.t776-1 modify true false /branches/barnowl_unicode/owl/tester.c

1a.1t.t776-1 modify true false /branches/barnowl_unicode/owl/owl.h

w.1t.t776-1 modify true false /branches/barnowl_unicode/owl/functions.c

13.1t.t776-1 modify true false /branches/barnowl_unicode/owl/keys.c

7k.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module/Jabber/Connection.pm

7h.1t.t776-1 modify true false /branches/barnowl_unicode/owl/perl/modules/Jabber/lib/BarnOwl/Module/Jabber.pm

1g.1t.t776-1 modify true false /branches/barnowl_unicode/owl/util.c

1.1t.t776-1 modify false true /branches/barnowl_unicode


48937 49134
