ports/179209: net-im/icb: Fix build with Tcl/Tk 8.6
KATO Tsuguru
tkato432 at yahoo.com
Sun Jun 2 18:10:01 UTC 2013
>Number: 179209
>Category: ports
>Synopsis: net-im/icb: Fix build with Tcl/Tk 8.6
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Jun 02 18:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: KATO Tsuguru
>Release: FreeBSD 8.4-RELEASE i386
>Organization:
>Environment:
>Description:
- Fix build with Tcl/Tk 8.6
- Update MASTER_SITES
New file:
files/patch-icb__c_hush.c
>How-To-Repeat:
>Fix:
diff -urN /usr/ports/net-im/icb/Makefile net-im/icb/Makefile
--- /usr/ports/net-im/icb/Makefile 2013-05-07 01:37:24.000000000 +0900
+++ net-im/icb/Makefile 2013-06-03 00:00:00.000000000 +0900
@@ -5,7 +5,8 @@
PORTVERSION= 5.1.0
PORTREVISION= 4
CATEGORIES= net-im tcl
-MASTER_SITES= http://www.obfuscation.org/icb/
+#MASTER_SITES= http://www.obfuscation.org/icb/
+MASTER_SITES= http://fossies.org/linux/misc/old/
DISTNAME= c${PORTNAME}-${PORTVERSION}
MAINTAINER= ports at FreeBSD.org
diff -urN /usr/ports/net-im/icb/files/patch-icb::c_log.c net-im/icb/files/patch-icb::c_log.c
--- /usr/ports/net-im/icb/files/patch-icb::c_log.c 2013-02-08 03:11:04.000000000 +0900
+++ net-im/icb/files/patch-icb::c_log.c 2013-06-03 00:00:00.000000000 +0900
@@ -20,3 +20,46 @@
/* determine pathname to use */
if (path == NULL || *path == '\0') {
+@@ -43,17 +47,17 @@
+ /* expand a tilde style path */
+ if (*path == '~')
+ if ((path = tildexpand(path)) == NULL) {
+- strcpy(TRET, "c_log: bad login id in path");
++ strcpy(Tcl_GetStringResult(interp), "c_log: bad login id in path");
+ return(-1);
+ }
+
+ /* open the session log */
+ if ((logfp = fopen(path, "a")) == NULL) {
+ if (errno > sys_nerr)
+- sprintf(TRET,
++ sprintf(Tcl_GetStringResult(interp),
+ "c_log: can't open \"%s\": errno %d", path, errno);
+ else
+- sprintf(TRET,
++ sprintf(Tcl_GetStringResult(interp),
+ "c_log: can't open \"%s\": %s", path, strerror(errno));
+ return(-1);
+ }
+@@ -61,10 +65,10 @@
+ /* protect the logfile against others */
+ if (fchmod((int)(fileno(logfp)), 0600) != 0) {
+ if (errno > sys_nerr)
+- sprintf(TRET,
++ sprintf(Tcl_GetStringResult(interp),
+ "c_log: can't fchmod \"%s\": errno %d", path, errno);
+ else
+- sprintf(TRET,
++ sprintf(Tcl_GetStringResult(interp),
+ "c_log: can't fchmod \"%s\": %s", path, strerror(errno));
+ fclose(logfp);
+ logfp = NULL;
+@@ -146,7 +150,7 @@
+ return(TCL_ERROR);
+ } else {
+ if (logging()) {
+- sprintf(TRET, "c_log: session logging already on");
++ sprintf(Tcl_GetStringResult(interp), "c_log: session logging already on");
+ return(TCL_ERROR);
+ } else
+ if (startsessionlog(interp, argv[1]) < 0)
diff -urN /usr/ports/net-im/icb/files/patch-icb__c_hush.c net-im/icb/files/patch-icb__c_hush.c
--- /usr/ports/net-im/icb/files/patch-icb__c_hush.c 1970-01-01 09:00:00.000000000 +0900
+++ net-im/icb/files/patch-icb__c_hush.c 2013-06-03 00:00:00.000000000 +0900
@@ -0,0 +1,29 @@
+--- icb/c_hush.c.orig
++++ icb/c_hush.c
+@@ -23,7 +23,7 @@
+ while (*nick == ' ' || *nick == '\t') nick++;
+
+ if (*nick == '\0') {
+- strcpy(TRET, "c_hush: can't hush a null nickname");
++ strcpy(Tcl_GetStringResult(interp), "c_hush: can't hush a null nickname");
+ return(-1);
+ }
+
+@@ -31,7 +31,7 @@
+ *(nick + MAX_NICKLEN) = '\0';
+
+ if ((hp = strmakenode(strlen(nick))) == NULL) {
+- strcpy(TRET, "c_hush: out of memory");
++ strcpy(Tcl_GetStringResult(interp), "c_hush: out of memory");
+ return(-1);
+ }
+ strcpy(hp->str, nick);
+@@ -55,7 +55,7 @@
+ STRLIST *s;
+
+ if ((s = strgetnode(nick, hushhead, 1)) == NULL) {
+- sprintf(TRET, "c_hush: %s is not being hushed", nick);
++ sprintf(Tcl_GetStringResult(interp), "c_hush: %s is not being hushed", nick);
+ return(-1);
+ }
+ sprintf(mbuf,
diff -urN /usr/ports/net-im/icb/files/patch-icb__oset.c net-im/icb/files/patch-icb__oset.c
--- /usr/ports/net-im/icb/files/patch-icb__oset.c 2013-02-08 03:11:04.000000000 +0900
+++ net-im/icb/files/patch-icb__oset.c 2013-06-03 00:00:00.000000000 +0900
@@ -18,3 +18,47 @@
return(TCL_OK);
}
}
+@@ -109,7 +109,7 @@
+ }
+
+ if (vars[x].name == NULL) {
+- sprintf(TRET, "oset: no such variable \"%s\"", argv[1]);
++ sprintf(Tcl_GetStringResult(interp), "oset: no such variable \"%s\"", argv[1]);
+ return(TCL_ERROR);
+ }
+
+@@ -278,7 +278,7 @@
+ }
+
+ if (vars[x].name == NULL) {
+- sprintf(TRET, "ounset: no such variable \"%s\"", argv[1]);
++ sprintf(Tcl_GetStringResult(interp), "ounset: no such variable \"%s\"", argv[1]);
+ return(TCL_ERROR);
+ }
+
+@@ -310,7 +310,7 @@
+ case V_NONNEG:
+ tmp = atoi(s);
+ if (tmp < 0) {
+- strcpy(TRET, "oset: only non-negative values allowed");
++ strcpy(Tcl_GetStringResult(interp), "oset: only non-negative values allowed");
+ return(-1);
+ }
+ memcpy (address, &tmp, sizeof(int));
+@@ -331,14 +331,14 @@
+ *i_addr = (int)0;
+ }
+ else {
+- strcpy(TRET, "oset: only boolean values allowed");
++ strcpy(Tcl_GetStringResult(interp), "oset: only boolean values allowed");
+ return(-1);
+ }
+ break;
+ case V_STRING:
+ tmp = strlen(s) + 1;
+ if ((p = malloc(tmp)) == NULL) {
+- strcpy(TRET, "oset: not enough memory to set string");
++ strcpy(Tcl_GetStringResult(interp), "oset: not enough memory to set string");
+ return(-1);
+ }
+ memcpy (p, s, tmp);
diff -urN /usr/ports/net-im/icb/files/patch-icb__parse.c net-im/icb/files/patch-icb__parse.c
--- /usr/ports/net-im/icb/files/patch-icb__parse.c 2013-02-08 03:11:04.000000000 +0900
+++ net-im/icb/files/patch-icb__parse.c 2013-06-03 00:00:00.000000000 +0900
@@ -11,3 +11,22 @@
extern Tcl_Interp *interp;
char *nextword();
+@@ -78,14 +82,14 @@
+
+ /* Print the tcl result. */
+ if (result == TCL_OK) {
+- if (*interp->result != 0)
+- putl(interp->result, PL_SL);
++ if (Tcl_GetStringResult(interp) != 0)
++ putl(Tcl_GetStringResult(interp), PL_SL);
+ } else {
+- if (interp->result) {
++ if (Tcl_GetStringResult(interp)) {
+ sprintf(mbuf,
+ "%s[=Error=] %s%s",
+ printcolor(ColERROR, ColSANE),
+- interp->result,
++ Tcl_GetStringResult(interp),
+ printcolor(ColSANE, ColSANE));
+ putl(mbuf, PL_SL);
+ } else {
diff -urN /usr/ports/net-im/icb/files/patch-icb__tcl.c net-im/icb/files/patch-icb__tcl.c
--- /usr/ports/net-im/icb/files/patch-icb__tcl.c 2013-02-08 03:11:04.000000000 +0900
+++ net-im/icb/files/patch-icb__tcl.c 2013-06-03 00:00:00.000000000 +0900
@@ -10,3 +10,14 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+@@ -70,8 +73,8 @@
+ for (x = 0; defprocs[x] != 0; x++)
+ if (Tcl_Eval(interp, defprocs[x]) != TCL_OK) {
+ printf("Default binding failed: %s\r\n", defprocs[x]);
+- if (*interp->result != 0)
+- puts(interp->result);
++ if (Tcl_GetStringResult(interp) != 0)
++ puts(Tcl_GetStringResult(interp));
+ }
+
+ }
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list