[362] in bug-owl
[Fwd: Owl patches]
daemon@ATHENA.MIT.EDU (Alex Vandiver)
Thu Dec 30 17:50:02 2004
From: Alex Vandiver <alexmv@MIT.EDU>
To: bug-owl@ktools.org
Content-Type: multipart/mixed; boundary="=-hCN5ONxgHz9WwVCGo7ID"
Date: Thu, 30 Dec 2004 17:49:52 -0500
Message-Id: <1104446992.10889.15.camel@zoq-fot-pik.mit.edu>
Mime-Version: 1.0
--=-hCN5ONxgHz9WwVCGo7ID
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Heya,
Forwarding this here, as this is probably the more useful place for it
to have gone. Also, the url for the owl-users archive
( http://www.ktools.org/pipermail/owl-users/ ) gives a 404.
- Alex
-------- Forwarded Message --------
From: Alex Vandiver <alexmv@mit.edu>
To: kretch@mit.edu
Subject: Owl patches
Date: Wed, 29 Dec 2004 14:16:13 -0500
Heya,
Two patches for owl are attached. The first fixes a bug that causes
segfaults when changing window size. To be honest, I'm not entirely
sure how the else clause in question is reached, but a race condition
with a signal handler can evidently set it off.
The second patch alters a couple regexps to make owl understand .d
(and .d.d, etc) and un-classes and instances. As this patch addresses a
purely social construction, you may or may not want to apply it.
- Alex
--
Networking -- only one letter away from not working
--=-hCN5ONxgHz9WwVCGo7ID
Content-Disposition: attachment; filename=owl-winch-bug.patch
Content-Type: text/x-patch; name=owl-winch-bug.patch; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
diff -ru /mit/ktools/src/owl/src/owl.c ./owl.c
--- /mit/ktools/src/owl/src/owl.c Sat Apr 10 20:50:34 2004
+++ ./owl.c Wed Dec 29 13:24:35 2004
@@ -488,8 +488,17 @@
#endif
} else if (owl_global_messagequeue_pending(&g)) {
m=owl_global_messageuque_popmsg(&g);
+ } else {
+ /* This can happen! */
+ owl_function_debugmsg("Bottomed out looking for zephyr");
}
-
+
+ /* It is possible that the else fell through, or m is otherwise null */
+ if (m == NULL) {
+ owl_function_debugmsg("m is null in main loop");
+ continue;
+ }
+
/* if this message it on the puntlist, nuke it and continue */
if (owl_global_message_is_puntable(&g, m)) {
owl_message_free(m);
--=-hCN5ONxgHz9WwVCGo7ID
Content-Disposition: attachment; filename=owl-un.d.patch
Content-Type: text/x-patch; name=owl-un.d.patch; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
diff -ru /mit/ktools/src/owl/src/functions.c ./functions.c
--- /mit/ktools/src/owl/src/functions.c Mon May 31 14:03:54 2004
+++ ./functions.c Wed Dec 29 13:43:23 2004
@@ -2564,9 +2564,9 @@
tmpinstance=owl_text_quote(instance, OWL_REGEX_QUOTECHARS, OWL_REGEX_QUOTEWITH);
owl_text_tr(tmpinstance, ' ', '.');
}
- sprintf(argbuff, "( class ^%s$ )", tmpclass);
+ sprintf(argbuff, "( class ^(un)?%s(\\.d)*$ )", tmpclass);
if (tmpinstance) {
- sprintf(argbuff, "%s and ( instance ^%s$ )", argbuff, tmpinstance);
+ sprintf(argbuff, "%s and ( instance ^%s(\\.d)*$ )", argbuff, tmpinstance);
}
owl_free(tmpclass);
if (tmpinstance) owl_free(tmpinstance);
@@ -2928,7 +2928,7 @@
} else {
quoted=owl_text_quote(class, OWL_REGEX_QUOTECHARS, OWL_REGEX_QUOTEWITH);
owl_text_tr(quoted, ' ', '.');
- sprintf(buff, "%s ^%s$", buff, quoted);
+ sprintf(buff, "%s ^(un)?%s(\\.d)*$", buff, quoted);
owl_free(quoted);
}
if (!strcmp(inst, "*")) {
@@ -2936,7 +2936,7 @@
} else {
quoted=owl_text_quote(inst, OWL_REGEX_QUOTECHARS, OWL_REGEX_QUOTEWITH);
owl_text_tr(quoted, ' ', '.');
- sprintf(buff, "%s and instance ^%s$", buff, quoted);
+ sprintf(buff, "%s and instance ^(un)?%s(\\.d)*$", buff, quoted);
owl_free(quoted);
}
if (strcmp(recip, "*")) {
--=-hCN5ONxgHz9WwVCGo7ID--