adium 5123:bfac63ec0db2: Merged adium-1.5.4 into adium-1.6.
commits at adium.im
commits at adium.im
Wed Oct 17 12:05:11 UTC 2012
details: http://hg.adium.im/adium/rev/bfac63ec0db2
revision: 5123:bfac63ec0db2
branch: adium-1.6
author: Thijs Alkemade <thijsalkemade at gmail.com>
date: Wed Oct 17 14:04:22 2012 +0200
Merged adium-1.5.4 into adium-1.6.
diffs (truncated from 295251 to 1000 lines):
diff -r daca90b559a1 -r bfac63ec0db2 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Tue Sep 25 23:05:15 2012 -0400
+++ b/Adium.xcodeproj/project.pbxproj Wed Oct 17 14:04:22 2012 +0200
@@ -1359,6 +1359,8 @@
6EC1684D06C170A000F9FAD3 /* DCInviteToChatPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EC1684806C170A000F9FAD3 /* DCInviteToChatPlugin.m */; };
6EC1684F06C170A000F9FAD3 /* DCInviteToChatWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EC1684A06C170A000F9FAD3 /* DCInviteToChatWindowController.m */; };
6EC1685006C170A000F9FAD3 /* InviteToChatWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6EC1684B06C170A000F9FAD3 /* InviteToChatWindow.xib */; };
+ 7664EAA5162E086A008CF995 /* libffi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7664EAA4162E086A008CF995 /* libffi.framework */; };
+ 7664EAA6162E0874008CF995 /* libffi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7664EAA4162E086A008CF995 /* libffi.framework */; };
766ABAB61306D1020049FFB7 /* AIUnreadMessagesTooltip.m in Sources */ = {isa = PBXBuildFile; fileRef = 766ABAB51306D1020049FFB7 /* AIUnreadMessagesTooltip.m */; };
76731DE215F90538007728C3 /* libgcrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE015F90538007728C3 /* libgcrypt.framework */; };
76731DE315F90538007728C3 /* libgpgerror.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE115F90538007728C3 /* libgpgerror.framework */; };
@@ -1660,6 +1662,7 @@
11EE1CD00CDD01120097F246 /* libgmodule.framework in Copy Frameworks */,
11EE1CD10CDD01120097F246 /* libgobject.framework in Copy Frameworks */,
11EE1CD20CDD01120097F246 /* libgthread.framework in Copy Frameworks */,
+ 7664EAA6162E0874008CF995 /* libffi.framework in Copy Frameworks */,
11EE1CD30CDD01120097F246 /* libintl.framework in Copy Frameworks */,
11EE1CD40CDD01120097F246 /* libmeanwhile.framework in Copy Frameworks */,
11EE1CD50CDD01120097F246 /* libpurple.framework in Copy Frameworks */,
@@ -4384,6 +4387,7 @@
6FB330A20C7235BF00B001A8 /* EKEzvIncomingFileTransfer.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = EKEzvIncomingFileTransfer.m; path = Plugins/Bonjour/libezv/Classes/EKEzvIncomingFileTransfer.m; sourceTree = SOURCE_ROOT; };
6FB330A30C7235BF00B001A8 /* EKEzvOutgoingFileTransfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = EKEzvOutgoingFileTransfer.h; path = Plugins/Bonjour/libezv/Classes/EKEzvOutgoingFileTransfer.h; sourceTree = SOURCE_ROOT; };
6FB330A40C7235BF00B001A8 /* EKEzvOutgoingFileTransfer.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = EKEzvOutgoingFileTransfer.m; path = Plugins/Bonjour/libezv/Classes/EKEzvOutgoingFileTransfer.m; sourceTree = SOURCE_ROOT; };
+ 7664EAA4162E086A008CF995 /* libffi.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libffi.framework; path = Frameworks/libffi.framework; sourceTree = "<group>"; };
766ABAB41306D1020049FFB7 /* AIUnreadMessagesTooltip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIUnreadMessagesTooltip.h; path = Source/AIUnreadMessagesTooltip.h; sourceTree = "<group>"; };
766ABAB51306D1020049FFB7 /* AIUnreadMessagesTooltip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIUnreadMessagesTooltip.m; path = Source/AIUnreadMessagesTooltip.m; sourceTree = "<group>"; };
76731DE015F90538007728C3 /* libgcrypt.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libgcrypt.framework; path = Frameworks/libgcrypt.framework; sourceTree = "<group>"; };
@@ -4782,6 +4786,7 @@
9719C92E1530EE0C00217FBE /* ShortcutRecorder.framework in Frameworks */,
76731DE215F90538007728C3 /* libgcrypt.framework in Frameworks */,
76731DE315F90538007728C3 /* libgpgerror.framework in Frameworks */,
+ 7664EAA5162E086A008CF995 /* libffi.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -8158,6 +8163,7 @@
979AA6A914D59EF3008730DF /* Others */ = {
isa = PBXGroup;
children = (
+ 7664EAA4162E086A008CF995 /* libffi.framework */,
76731DE015F90538007728C3 /* libgcrypt.framework */,
76731DE115F90538007728C3 /* libgpgerror.framework */,
3496A8E707CE6CA30055BBAB /* AutoHyperlinks.framework.xcodeproj */,
diff -r daca90b559a1 -r bfac63ec0db2 ChangeLogs/Changes.txt
--- a/ChangeLogs/Changes.txt Tue Sep 25 23:05:15 2012 -0400
+++ b/ChangeLogs/Changes.txt Wed Oct 17 14:04:22 2012 +0200
@@ -1,12 +1,14 @@
Adium Version History
-----------------------
Version 1.5.4 (XX/XX/XXXX)
- * Changed the default tab switching shortcuts for new users to Control-Tab/Control-Shift-Tab, to match Safari. (#16102)
- * Limit the tracking of the last seen time to contacts who are on your contact list.
* Updated the included Growl SDK to 2.0, adding support for Notification Center on 10.8 if Growl is not installed. (#15867)
* Updated libotr to 3.2.1, fixing a security vulnerability. (#16122)
- * Fixed a problem where accepting a group chat invite on Sametime 8.5.1 would crash Adium. (Jere Krischel and Jonathan Rice) (#16114)
+ * Changed the default tab switching shortcuts for new users to Control-Tab/Control-Shift-Tab, to match Safari. (#16102)
+ * Improved disk usage: limit the tracking of the "last seen" time to contacts who are on your contact list.
+ * Fixed a problem where accepting a group chat invite on Sametime 8.5.1 would crash Adium. (Jonathan Rice and Jere Krischel) (#16114)
* Fixed a problem where accepting a group chat invite on HipChat's XMPP server would crash Adium. (#16007)
+ * Fix a problem preventing Adium from executing Applescripts when Gatekeeper is enabled.
+ * Added routines to make Secure Transport (on 10.8 and above) work around buggy TLS implementations in certain older XMPP servers. (#16081)
Version 1.5.3 (8/12/2012)
@@ -18,7 +20,7 @@
* Icons set for group chat bookmarks will now show up on the tab bar in the chat window. (Andreas Marienborg) (#14484)
* Fixed tables not being declared as such via VoiceOver. (Marco Zehe) (#16085)
* Fixed a problem with emoticons scaling disproportionately in the yMous message style when using OS X 10.8.
- * Improved memory use slightly.
+ * Improved memory usage slightly.
Version 1.5.2 (7/21/2012)
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/build.sh
--- a/Dependencies/build.sh Tue Sep 25 23:05:15 2012 -0400
+++ b/Dependencies/build.sh Wed Oct 17 14:04:22 2012 +0200
@@ -162,8 +162,8 @@
eval `$DEVELOPER/usr/bin/pump --startup`
else
# Try to find the right gcc, even when XCode4 is installed
- export CC="clang"
- export CXX="clang"
+ export CC="xcrun clang"
+ export CXX="xcrun clang"
export CCAS="$CC"
export OBJC="$CC"
fi
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/patches/Meanwhile-glib_headers.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Dependencies/patches/Meanwhile-glib_headers.diff Wed Oct 17 14:04:22 2012 +0200
@@ -0,0 +1,257 @@
+diff -r -u meanwhile-1.0.2-orig/samples/logging_proxy.c meanwhile-1.0.2/samples/logging_proxy.c
+--- meanwhile-1.0.2-orig/samples/logging_proxy.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/samples/logging_proxy.c 2012-10-16 22:02:36.000000000 +0200
+@@ -25,7 +25,6 @@
+ #include <unistd.h>
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+ #include <mw_cipher.h>
+ #include <mw_common.h>
+diff -r -u meanwhile-1.0.2-orig/samples/login_server.c meanwhile-1.0.2/samples/login_server.c
+--- meanwhile-1.0.2-orig/samples/login_server.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/samples/login_server.c 2012-10-16 22:02:23.000000000 +0200
+@@ -19,7 +19,6 @@
+ #include <unistd.h>
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+ #include <mw_cipher.h>
+ #include <mw_common.h>
+diff -r -u meanwhile-1.0.2-orig/samples/nocipher_proxy.c meanwhile-1.0.2/samples/nocipher_proxy.c
+--- meanwhile-1.0.2-orig/samples/nocipher_proxy.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/samples/nocipher_proxy.c 2012-10-16 22:02:56.000000000 +0200
+@@ -29,7 +29,6 @@
+ #include <unistd.h>
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+ #include <mw_common.h>
+ #include <mw_message.h>
+diff -r -u meanwhile-1.0.2-orig/samples/redirect_server.c meanwhile-1.0.2/samples/redirect_server.c
+--- meanwhile-1.0.2-orig/samples/redirect_server.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/samples/redirect_server.c 2012-10-16 22:02:48.000000000 +0200
+@@ -22,7 +22,6 @@
+ #include <unistd.h>
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+ #include <mw_common.h>
+ #include <mw_message.h>
+diff -r -u meanwhile-1.0.2-orig/src/channel.c meanwhile-1.0.2/src/channel.c
+--- meanwhile-1.0.2-orig/src/channel.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/channel.c 2012-10-16 22:03:01.000000000 +0200
+@@ -19,8 +19,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/ghash.h>
+-#include <glib/glist.h>
+ #include <string.h>
+
+ #include "mw_channel.h"
+diff -r -u meanwhile-1.0.2-orig/src/mw_debug.c meanwhile-1.0.2/src/mw_debug.c
+--- meanwhile-1.0.2-orig/src/mw_debug.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_debug.c 2012-10-16 22:03:06.000000000 +0200
+@@ -19,7 +19,7 @@
+ */
+
+
+-#include <glib/gstring.h>
++#include <glib.h>
+
+ #include "mw_debug.h"
+
+diff -r -u meanwhile-1.0.2-orig/src/mw_message.h meanwhile-1.0.2/src/mw_message.h
+--- meanwhile-1.0.2-orig/src/mw_message.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_message.h 2012-10-16 22:03:09.000000000 +0200
+@@ -22,7 +22,7 @@
+ #define _MW_MESSAGE_H
+
+
+-#include <glib/glist.h>
++#include <glib.h>
+ #include "mw_common.h"
+
+
+diff -r -u meanwhile-1.0.2-orig/src/mw_srvc_conf.h meanwhile-1.0.2/src/mw_srvc_conf.h
+--- meanwhile-1.0.2-orig/src/mw_srvc_conf.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_srvc_conf.h 2012-10-16 22:03:17.000000000 +0200
+@@ -22,7 +22,7 @@
+ #define _MW_SRVC_CONF_H
+
+
+-#include <glib/glist.h>
++#include <glib.h>
+ #include "mw_common.h"
+
+
+diff -r -u meanwhile-1.0.2-orig/src/mw_srvc_dir.h meanwhile-1.0.2/src/mw_srvc_dir.h
+--- meanwhile-1.0.2-orig/src/mw_srvc_dir.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_srvc_dir.h 2012-10-16 22:03:35.000000000 +0200
+@@ -22,7 +22,6 @@
+
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+
+ #ifdef __cplusplus
+diff -r -u meanwhile-1.0.2-orig/src/mw_srvc_place.h meanwhile-1.0.2/src/mw_srvc_place.h
+--- meanwhile-1.0.2-orig/src/mw_srvc_place.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_srvc_place.h 2012-10-16 22:03:40.000000000 +0200
+@@ -22,7 +22,7 @@
+ #define _MW_SRVC_PLACE_H
+
+
+-#include <glib/glist.h>
++#include <glib.h>
+ #include "mw_common.h"
+
+
+diff -r -u meanwhile-1.0.2-orig/src/mw_srvc_resolve.h meanwhile-1.0.2/src/mw_srvc_resolve.h
+--- meanwhile-1.0.2-orig/src/mw_srvc_resolve.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_srvc_resolve.h 2012-10-16 22:03:44.000000000 +0200
+@@ -23,7 +23,6 @@
+
+
+ #include <glib.h>
+-#include <glib/glist.h>
+
+
+ #ifdef __cplusplus
+diff -r -u meanwhile-1.0.2-orig/src/mw_st_list.h meanwhile-1.0.2/src/mw_st_list.h
+--- meanwhile-1.0.2-orig/src/mw_st_list.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_st_list.h 2012-10-16 22:03:48.000000000 +0200
+@@ -30,7 +30,6 @@
+
+
+ #include <glib.h>
+-#include <glib/glist.h>
+ #include "mw_common.h"
+
+
+diff -r -u meanwhile-1.0.2-orig/src/mw_util.h meanwhile-1.0.2/src/mw_util.h
+--- meanwhile-1.0.2-orig/src/mw_util.h 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/mw_util.h 2012-10-16 22:03:51.000000000 +0200
+@@ -23,8 +23,6 @@
+
+
+ #include <glib.h>
+-#include <glib/ghash.h>
+-#include <glib/glist.h>
+
+
+ #define map_guint_new() \
+diff -r -u meanwhile-1.0.2-orig/src/srvc_aware.c meanwhile-1.0.2/src/srvc_aware.c
+--- meanwhile-1.0.2-orig/src/srvc_aware.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_aware.c 2012-10-16 22:03:58.000000000 +0200
+@@ -19,8 +19,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/ghash.h>
+-#include <glib/glist.h>
+ #include <string.h>
+
+ #include "mw_channel.h"
+diff -r -u meanwhile-1.0.2-orig/src/srvc_conf.c meanwhile-1.0.2/src/srvc_conf.c
+--- meanwhile-1.0.2-orig/src/srvc_conf.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_conf.c 2012-10-16 22:04:01.000000000 +0200
+@@ -19,8 +19,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/ghash.h>
+-#include <glib/glist.h>
+
+ #include <stdio.h>
+ #include <stdlib.h>
+diff -r -u meanwhile-1.0.2-orig/src/srvc_dir.c meanwhile-1.0.2/src/srvc_dir.c
+--- meanwhile-1.0.2-orig/src/srvc_dir.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_dir.c 2012-10-16 22:04:07.000000000 +0200
+@@ -18,7 +18,7 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-#include <glib/ghash.h>
++#include <glib.h>
+
+ #include "mw_channel.h"
+ #include "mw_common.h"
+diff -r -u meanwhile-1.0.2-orig/src/srvc_ft.c meanwhile-1.0.2/src/srvc_ft.c
+--- meanwhile-1.0.2-orig/src/srvc_ft.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_ft.c 2012-10-16 22:04:12.000000000 +0200
+@@ -19,7 +19,7 @@
+ */
+
+
+-#include <glib/glist.h>
++#include <glib.h>
+
+ #include "mw_channel.h"
+ #include "mw_common.h"
+diff -r -u meanwhile-1.0.2-orig/src/srvc_im.c meanwhile-1.0.2/src/srvc_im.c
+--- meanwhile-1.0.2-orig/src/srvc_im.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_im.c 2012-10-16 22:04:18.000000000 +0200
+@@ -19,7 +19,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/glist.h>
+ #include <string.h>
+
+ #include "mw_channel.h"
+diff -r -u meanwhile-1.0.2-orig/src/srvc_place.c meanwhile-1.0.2/src/srvc_place.c
+--- meanwhile-1.0.2-orig/src/srvc_place.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_place.c 2012-10-16 22:04:23.000000000 +0200
+@@ -19,8 +19,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/ghash.h>
+-#include <glib/glist.h>
+
+ #include <stdio.h>
+ #include <stdlib.h>
+diff -r -u meanwhile-1.0.2-orig/src/srvc_resolve.c meanwhile-1.0.2/src/srvc_resolve.c
+--- meanwhile-1.0.2-orig/src/srvc_resolve.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_resolve.c 2012-10-16 22:04:27.000000000 +0200
+@@ -18,7 +18,7 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-#include <glib/ghash.h>
++#include <glib.h>
+
+ #include "mw_channel.h"
+ #include "mw_common.h"
+diff -r -u meanwhile-1.0.2-orig/src/srvc_store.c meanwhile-1.0.2/src/srvc_store.c
+--- meanwhile-1.0.2-orig/src/srvc_store.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/srvc_store.c 2012-10-16 22:04:31.000000000 +0200
+@@ -18,7 +18,7 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-#include <glib/glist.h>
++#include <glib.h>
+
+ #include "mw_channel.h"
+ #include "mw_debug.h"
+diff -r -u meanwhile-1.0.2-orig/src/st_list.c meanwhile-1.0.2/src/st_list.c
+--- meanwhile-1.0.2-orig/src/st_list.c 2012-10-16 22:02:02.000000000 +0200
++++ meanwhile-1.0.2/src/st_list.c 2012-10-16 22:04:36.000000000 +0200
+@@ -20,7 +20,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
+-#include <glib/gstring.h>
++#include <glib.h>
+
+ #include "mw_debug.h"
+ #include "mw_util.h"
+
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/patches/Meanwhile-session.c.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Dependencies/patches/Meanwhile-session.c.diff Wed Oct 17 14:04:22 2012 +0200
@@ -0,0 +1,11 @@
+--- src/session.c 2005-12-15 14:11:47.000000000 -0600
++++ src/session.c 2012-08-22 08:40:54.043701375 -0500
+@@ -448,6 +448,8 @@
+ property_set(s, mwSession_SERVER_VER_MAJOR, GPOINTER(msg->major), NULL);
+ property_set(s, mwSession_SERVER_VER_MINOR, GPOINTER(msg->minor), NULL);
+
++ g_info("Sametime server version (major/minor): 0x%x / 0x%x", msg->major, msg->minor);
++
+ /* compose the login message */
+ log = (struct mwMsgLogin *) mwMessage_new(mwMessage_LOGIN);
+ log->login_type = GUINT(property_get(s, mwSession_CLIENT_TYPE_ID));
\ No newline at end of file
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/patches/Meanwhile-srvc_place.c.diff
--- a/Dependencies/patches/Meanwhile-srvc_place.c.diff Tue Sep 25 23:05:15 2012 -0400
+++ b/Dependencies/patches/Meanwhile-srvc_place.c.diff Wed Oct 17 14:04:22 2012 +0200
@@ -1,6 +1,23 @@
---- src/srvc_place.c 2005-11-21 10:30:46.000000000 -0800
-+++ src/srvc_place.c 2012-08-15 09:07:37.000000000 -0700
-@@ -165,6 +165,7 @@
+--- src/srvc_place.c 2005-12-02 18:00:29.000000000 -0800
++++ src/srvc_place.c 2012-08-21 19:39:32.000000000 -0700
+@@ -39,6 +39,16 @@
+ #define PROTOCOL_TYPE 0x00
+ #define PROTOCOL_VER 0x05
+
++/*
++ As of Sametime ~v8.5, there's a slightly different group chat invite message.
++ This identifies the earliest server version using the new format. Currently,
++ it's set for 8.5.1. If other people are having issues, we'll need to decrease
++ this to their version.
++*/
++#define NEW_FORMAT_SERVER_VER_MAJOR 0x001e
++#define NEW_FORMAT_SERVER_VER_MINOR 0x213f
++
++#define GUINT(val) (GPOINTER_TO_UINT((val)))
+
+ enum incoming_msg {
+ msg_in_JOIN_RESPONSE = 0x0000, /* ? */
+@@ -165,6 +175,7 @@
guint16 login_type;
guint32 unknown_a;
guint32 unknown_b;
@@ -8,7 +25,7 @@
};
-@@ -189,6 +190,7 @@
+@@ -189,6 +200,7 @@
mwIdBlock_clear(&p->idb);
g_free(p->login_id);
g_free(p->name);
@@ -16,21 +33,50 @@
g_free(p);
}
-@@ -394,6 +396,8 @@
+@@ -394,6 +406,9 @@
guint16_get(b, &pm->login_type);
guint32_get(b, &pm->unknown_a);
guint32_get(b, &pm->unknown_b);
-+ //TODO: Since the Notes upgrade, an extra name string is sent to recv_SECTION_LIST(). It might be sent here,
-+ // but since we're only parsing one user, it probably doesn't matter here.
++ /* TODO: Since the Notes upgrade, an extra name string is sent to
++ recv_SECTION_LIST(). It might be sent here, but since we're only
++ parsing one user, it probably doesn't matter here. */
PUT_MEMBER(place, pm);
if(srvc->handler && srvc->handler->peerJoined)
-@@ -544,6 +548,7 @@
- guint16_get(b, &m->login_type);
+@@ -519,8 +534,18 @@
+
+ static int recv_SECTION_LIST(struct mwPlace *place,
+ struct mwGetBuffer *b) {
+- int ret = 0;
++ int ret = 0, major, minor;
+ guint32 sec, count;
++ struct mwSession *session;
++ gboolean newMsgFormat;
++
++ /* Check the server version to see if the message uses the new format */
++ session = mwService_getSession(MW_SERVICE(place->service));
++ major = GUINT(mwSession_getProperty(session, mwSession_SERVER_VER_MAJOR));
++ minor = GUINT(mwSession_getProperty(session, mwSession_SERVER_VER_MINOR));
++ newMsgFormat = (major == NEW_FORMAT_SERVER_VER_MAJOR
++ && minor >= NEW_FORMAT_SERVER_VER_MINOR)
++ || major > NEW_FORMAT_SERVER_VER_MAJOR;
+
+ mwGetBuffer_advance(b, 4);
+ guint32_get(b, &sec);
+@@ -545,6 +570,10 @@
guint32_get(b, &m->unknown_a);
guint32_get(b, &m->unknown_b);
-+ mwString_get(b, &m->extraname); //new in Notes upgrade, the name appears again at the end now
++ if(newMsgFormat) {
++ mwString_get(b, &m->extraname);
++ }
++
PUT_MEMBER(place, m);
}
-
+
+@@ -1072,4 +1101,4 @@
+ void mwPlace_removeClientData(struct mwPlace *place) {
+ g_return_if_fail(place != NULL);
+ mw_datum_clear(&place->client_data);
+-}
++}
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/patches/gettext-Makefile.in.diff
--- a/Dependencies/patches/gettext-Makefile.in.diff Tue Sep 25 23:05:15 2012 -0400
+++ b/Dependencies/patches/gettext-Makefile.in.diff Wed Oct 17 14:04:22 2012 +0200
@@ -1,11 +1,11 @@
---- gettext-tools/Makefile.in 2010-11-14 21:31:55.000000000 -0800
-+++ gettext-tools/Makefile.in.orig 2006-11-27 09:34:56.000000000 -0800
-@@ -484,7 +484,7 @@
+--- gettext-tools/Makefile.in.orig 2010-06-03 16:38:55.000000000 -0500
++++ gettext-tools/Makefile.in 2010-06-04 01:16:07.000000000 -0500
+@@ -1248,7 +1248,7 @@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
- ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../autoconf-lib-link/m4 -I ../m4 -I gnulib-m4 -I libgettextpo/gnulib-m4
--SUBDIRS = doc intl gnulib-lib libgrep libuniname src libgettextpo po projects misc man m4 tests examples
-+SUBDIRS = intl gnulib-lib libgrep libuniname src libgettextpo po projects m4
+ ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
+-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
++SUBDIRS = intl gnulib-lib libgrep src libgettextpo po projects styles m4
# Allow users to use "gnulib-tool --update".
diff -r daca90b559a1 -r bfac63ec0db2 Dependencies/phases/build_dependencies.sh
--- a/Dependencies/phases/build_dependencies.sh Tue Sep 25 23:05:15 2012 -0400
+++ b/Dependencies/phases/build_dependencies.sh Wed Oct 17 14:04:22 2012 +0200
@@ -146,6 +146,7 @@
# Fixes accepting group chat invites from the standard Sametime client.
# Thanks to Jere Krischel and Jonathan Rice.
fwdpatch "$ROOTDIR/patches/Meanwhile-srvc_place.c.diff" -p0 || true
+ fwdpatch "$ROOTDIR/patches/Meanwhile-session.c.diff" -p0 || true
if needsconfigure $@; then
(
@@ -180,6 +181,7 @@
revpatch "$ROOTDIR/patches/Meanwhile-common.c.diff" -p0
revpatch "$ROOTDIR/patches/Meanwhile-srvc_ft.c.diff" -p0
revpatch "$ROOTDIR/patches/Meanwhile-srvc_place.c.diff" -p0
+ revpatch "$ROOTDIR/patches/Meanwhile-session.c.diff" -p0
quiet popd
}
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/AIUtilities Framework/Resources/cs.lproj/Localizable.strings
Binary file Frameworks/AIUtilities Framework/Resources/cs.lproj/Localizable.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/AIUtilities Framework/Resources/nl.lproj/Localizable.strings
Binary file Frameworks/AIUtilities Framework/Resources/nl.lproj/Localizable.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/cs.lproj/EmoticonNames.strings
Binary file Frameworks/Adium Framework/Resources/cs.lproj/EmoticonNames.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/cs.lproj/Localizable.strings
Binary file Frameworks/Adium Framework/Resources/cs.lproj/Localizable.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/en.lproj/EmoticonNames.strings
Binary file Frameworks/Adium Framework/Resources/en.lproj/EmoticonNames.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/en.lproj/Localizable.strings
Binary file Frameworks/Adium Framework/Resources/en.lproj/Localizable.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/nl.lproj/EmoticonNames.strings
Binary file Frameworks/Adium Framework/Resources/nl.lproj/EmoticonNames.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Resources/nl.lproj/Localizable.strings
Binary file Frameworks/Adium Framework/Resources/nl.lproj/Localizable.strings has changed
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Source/AIChat.m
--- a/Frameworks/Adium Framework/Source/AIChat.m Tue Sep 25 23:05:15 2012 -0400
+++ b/Frameworks/Adium Framework/Source/AIChat.m Wed Oct 17 14:04:22 2012 +0200
@@ -1064,7 +1064,7 @@
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len
{
- return [participatingContacts countByEnumeratingWithState:state objects:stackbuf count:len];
+ return [self.containedObjects countByEnumeratingWithState:state objects:stackbuf count:len];
}
- (BOOL) canContainObject:(id)obj
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Source/AIListGroup.m
--- a/Frameworks/Adium Framework/Source/AIListGroup.m Tue Sep 25 23:05:15 2012 -0400
+++ b/Frameworks/Adium Framework/Source/AIListGroup.m Wed Oct 17 14:04:22 2012 +0200
@@ -360,7 +360,7 @@
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len
{
- return [_containedObjects countByEnumeratingWithState:state objects:stackbuf count:len];
+ return [self.containedObjects countByEnumeratingWithState:state objects:stackbuf count:len];
}
#pragma mark Applescript
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/Adium Framework/Source/AIMetaContact.m
--- a/Frameworks/Adium Framework/Source/AIMetaContact.m Tue Sep 25 23:05:15 2012 -0400
+++ b/Frameworks/Adium Framework/Source/AIMetaContact.m Wed Oct 17 14:04:22 2012 +0200
@@ -1038,7 +1038,7 @@
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len
{
- return [_containedObjects countByEnumeratingWithState:state objects:stackbuf count:len];
+ return [self.containedObjects countByEnumeratingWithState:state objects:stackbuf count:len];
}
#pragma mark Contained Contact sorting
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/libffi.framework/Headers
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libffi.framework/Headers Wed Oct 17 14:04:22 2012 +0200
@@ -0,0 +1,1 @@
+Versions/3.0.11/Headers
\ No newline at end of file
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/libffi.framework/Resources
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libffi.framework/Resources Wed Oct 17 14:04:22 2012 +0200
@@ -0,0 +1,1 @@
+Versions/3.0.11/Resources
\ No newline at end of file
diff -r daca90b559a1 -r bfac63ec0db2 Frameworks/libffi.framework/Versions/3.0.11/Headers/ffi.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libffi.framework/Versions/3.0.11/Headers/ffi.h Wed Oct 17 14:04:22 2012 +0200
@@ -0,0 +1,471 @@
+/* -----------------------------------------------------------------*-C-*-
+ libffi 3.0.11 - Copyright (c) 2011 Anthony Green
+ - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the ``Software''), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------------------------------------- */
+
+/* -------------------------------------------------------------------
+ The basic API is described in the README file.
+
+ The raw API is designed to bypass some of the argument packing
+ and unpacking on architectures for which it can be avoided.
+
+ The closure API allows interpreted functions to be packaged up
+ inside a C function pointer, so that they can be called as C functions,
+ with no understanding on the client side that they are interpreted.
+ It can also be used in other cases in which it is necessary to package
+ up a user specified parameter and a function pointer as a single
+ function pointer.
+
+ The closure API must be implemented in order to get its functionality,
+ e.g. for use by gij. Routines are provided to emulate the raw API
+ if the underlying platform doesn't allow faster implementation.
+
+ More details on the raw and cloure API can be found in:
+
+ http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
+
+ and
+
+ http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
+ -------------------------------------------------------------------- */
+
+#ifndef LIBFFI_H
+#define LIBFFI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Specify which architecture libffi is configured for. */
+#ifndef X86_DARWIN
+#define X86_DARWIN
+#endif
+
+/* ---- System configuration information --------------------------------- */
+
+#include <ffitarget.h>
+
+#ifndef LIBFFI_ASM
+
+#ifdef _MSC_VER
+#define __attribute__(X)
+#endif
+
+#include <stddef.h>
+#include <limits.h>
+
+/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
+ But we can find it either under the correct ANSI name, or under GNU
+ C's internal name. */
+
+#define FFI_64_BIT_MAX 9223372036854775807
+
+#ifdef LONG_LONG_MAX
+# define FFI_LONG_LONG_MAX LONG_LONG_MAX
+#else
+# ifdef LLONG_MAX
+# define FFI_LONG_LONG_MAX LLONG_MAX
+# ifdef _AIX52 /* or newer has C99 LLONG_MAX */
+# undef FFI_64_BIT_MAX
+# define FFI_64_BIT_MAX 9223372036854775807LL
+# endif /* _AIX52 or newer */
+# else
+# ifdef __GNUC__
+# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
+# endif
+# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
+# ifndef __PPC64__
+# if defined (__IBMC__) || defined (__IBMCPP__)
+# define FFI_LONG_LONG_MAX LONGLONG_MAX
+# endif
+# endif /* __PPC64__ */
+# undef FFI_64_BIT_MAX
+# define FFI_64_BIT_MAX 9223372036854775807LL
+# endif
+# endif
+#endif
+
+/* The closure code assumes that this works on pointers, i.e. a size_t */
+/* can hold a pointer. */
+
+typedef struct _ffi_type
+{
+ size_t size;
+ unsigned short alignment;
+ unsigned short type;
+ struct _ffi_type **elements;
+} ffi_type;
+
+#ifndef LIBFFI_HIDE_BASIC_TYPES
+#if SCHAR_MAX == 127
+# define ffi_type_uchar ffi_type_uint8
+# define ffi_type_schar ffi_type_sint8
+#else
+ #error "char size not supported"
+#endif
+
+#if SHRT_MAX == 32767
+# define ffi_type_ushort ffi_type_uint16
+# define ffi_type_sshort ffi_type_sint16
+#elif SHRT_MAX == 2147483647
+# define ffi_type_ushort ffi_type_uint32
+# define ffi_type_sshort ffi_type_sint32
+#else
+ #error "short size not supported"
+#endif
+
+#if INT_MAX == 32767
+# define ffi_type_uint ffi_type_uint16
+# define ffi_type_sint ffi_type_sint16
+#elif INT_MAX == 2147483647
+# define ffi_type_uint ffi_type_uint32
+# define ffi_type_sint ffi_type_sint32
+#elif INT_MAX == 9223372036854775807
+# define ffi_type_uint ffi_type_uint64
+# define ffi_type_sint ffi_type_sint64
+#else
+ #error "int size not supported"
+#endif
+
+#if LONG_MAX == 2147483647
+# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
+ #error "no 64-bit data type supported"
+# endif
+#elif LONG_MAX != FFI_64_BIT_MAX
+ #error "long size not supported"
+#endif
+
+#if LONG_MAX == 2147483647
+# define ffi_type_ulong ffi_type_uint32
+# define ffi_type_slong ffi_type_sint32
+#elif LONG_MAX == FFI_64_BIT_MAX
+# define ffi_type_ulong ffi_type_uint64
+# define ffi_type_slong ffi_type_sint64
+#else
+ #error "long size not supported"
+#endif
+
+/* Need minimal decorations for DLLs to works on Windows. */
+/* GCC has autoimport and autoexport. Rely on Libtool to */
+/* help MSVC export from a DLL, but always declare data */
+/* to be imported for MSVC clients. This costs an extra */
+/* indirection for MSVC clients using the static version */
+/* of the library, but don't worry about that. Besides, */
+/* as a workaround, they can define FFI_BUILDING if they */
+/* *know* they are going to link with the static library. */
+#if defined _MSC_VER && !defined FFI_BUILDING
+#define FFI_EXTERN extern __declspec(dllimport)
+#else
+#define FFI_EXTERN extern
+#endif
+
+/* These are defined in types.c */
+FFI_EXTERN ffi_type ffi_type_void;
+FFI_EXTERN ffi_type ffi_type_uint8;
+FFI_EXTERN ffi_type ffi_type_sint8;
+FFI_EXTERN ffi_type ffi_type_uint16;
+FFI_EXTERN ffi_type ffi_type_sint16;
+FFI_EXTERN ffi_type ffi_type_uint32;
+FFI_EXTERN ffi_type ffi_type_sint32;
+FFI_EXTERN ffi_type ffi_type_uint64;
+FFI_EXTERN ffi_type ffi_type_sint64;
+FFI_EXTERN ffi_type ffi_type_float;
+FFI_EXTERN ffi_type ffi_type_double;
+FFI_EXTERN ffi_type ffi_type_pointer;
+
+#if 1
+FFI_EXTERN ffi_type ffi_type_longdouble;
+#else
+#define ffi_type_longdouble ffi_type_double
+#endif
+#endif /* LIBFFI_HIDE_BASIC_TYPES */
+
+typedef enum {
+ FFI_OK = 0,
+ FFI_BAD_TYPEDEF,
+ FFI_BAD_ABI
+} ffi_status;
+
+typedef unsigned FFI_TYPE;
+
+typedef struct {
+ ffi_abi abi;
+ unsigned nargs;
+ ffi_type **arg_types;
+ ffi_type *rtype;
+ unsigned bytes;
+ unsigned flags;
+#ifdef FFI_EXTRA_CIF_FIELDS
+ FFI_EXTRA_CIF_FIELDS;
+#endif
+} ffi_cif;
+
+/* Used internally, but overridden by some architectures */
+ffi_status ffi_prep_cif_core(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int isvariadic,
+ unsigned int nfixedargs,
+ unsigned int ntotalargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
+/* ---- Definitions for the raw API -------------------------------------- */
+
+#ifndef FFI_SIZEOF_ARG
+# if LONG_MAX == 2147483647
+# define FFI_SIZEOF_ARG 4
+# elif LONG_MAX == FFI_64_BIT_MAX
+# define FFI_SIZEOF_ARG 8
+# endif
+#endif
+
+#ifndef FFI_SIZEOF_JAVA_RAW
+# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
+#endif
+
+typedef union {
+ ffi_sarg sint;
+ ffi_arg uint;
+ float flt;
+ char data[FFI_SIZEOF_ARG];
+ void* ptr;
+} ffi_raw;
+
+#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
+/* This is a special case for mips64/n32 ABI (and perhaps others) where
+ sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */
+typedef union {
+ signed int sint;
+ unsigned int uint;
+ float flt;
+ char data[FFI_SIZEOF_JAVA_RAW];
+ void* ptr;
+} ffi_java_raw;
+#else
+typedef ffi_raw ffi_java_raw;
+#endif
+
+
+void ffi_raw_call (ffi_cif *cif,
+ void (*fn)(void),
+ void *rvalue,
+ ffi_raw *avalue);
+
+void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
+void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
+size_t ffi_raw_size (ffi_cif *cif);
+
+/* This is analogous to the raw API, except it uses Java parameter */
+/* packing, even on 64-bit machines. I.e. on 64-bit machines */
+/* longs and doubles are followed by an empty 64-bit word. */
+
+void ffi_java_raw_call (ffi_cif *cif,
+ void (*fn)(void),
+ void *rvalue,
+ ffi_java_raw *avalue);
+
+void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
+void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
+size_t ffi_java_raw_size (ffi_cif *cif);
+
+/* ---- Definitions for closures ----------------------------------------- */
+
+#if FFI_CLOSURES
+
+#ifdef _MSC_VER
+__declspec(align(8))
+#endif
+typedef struct {
+#if 0
+ void *trampoline_table;
+ void *trampoline_table_entry;
+#else
+ char tramp[FFI_TRAMPOLINE_SIZE];
+#endif
+ ffi_cif *cif;
+ void (*fun)(ffi_cif*,void*,void**,void*);
+ void *user_data;
+#ifdef __GNUC__
+} ffi_closure __attribute__((aligned (8)));
+#else
+} ffi_closure;
+# ifdef __sgi
+# pragma pack 0
+# endif
+#endif
+
+void *ffi_closure_alloc (size_t size, void **code);
+void ffi_closure_free (void *);
+
+ffi_status
+ffi_prep_closure (ffi_closure*,
+ ffi_cif *,
+ void (*fun)(ffi_cif*,void*,void**,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_closure_loc (ffi_closure*,
+ ffi_cif *,
+ void (*fun)(ffi_cif*,void*,void**,void*),
+ void *user_data,
+ void*codeloc);
+
+#ifdef __sgi
+# pragma pack 8
+#endif
+typedef struct {
+#if 0
+ void *trampoline_table;
+ void *trampoline_table_entry;
+#else
+ char tramp[FFI_TRAMPOLINE_SIZE];
+#endif
+ ffi_cif *cif;
+
+#if !FFI_NATIVE_RAW_API
+
+ /* if this is enabled, then a raw closure has the same layout
+ as a regular closure. We use this to install an intermediate
+ handler to do the transaltion, void** -> ffi_raw*. */
+
+ void (*translate_args)(ffi_cif*,void*,void**,void*);
+ void *this_closure;
+
+#endif
+
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
+ void *user_data;
+
+} ffi_raw_closure;
+
+typedef struct {
+#if 0
+ void *trampoline_table;
+ void *trampoline_table_entry;
+#else
+ char tramp[FFI_TRAMPOLINE_SIZE];
+#endif
+
+ ffi_cif *cif;
+
+#if !FFI_NATIVE_RAW_API
+
+ /* if this is enabled, then a raw closure has the same layout
+ as a regular closure. We use this to install an intermediate
+ handler to do the transaltion, void** -> ffi_raw*. */
+
+ void (*translate_args)(ffi_cif*,void*,void**,void*);
+ void *this_closure;
+
+#endif
+
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
+ void *user_data;
+
+} ffi_java_raw_closure;
+
+ffi_status
+ffi_prep_raw_closure (ffi_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_raw_closure_loc (ffi_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+ void *user_data,
+ void *codeloc);
+
+ffi_status
+ffi_prep_java_raw_closure (ffi_java_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+ void *user_data,
+ void *codeloc);
+
+#endif /* FFI_CLOSURES */
+
+/* ---- Public interface definition -------------------------------------- */
+
+ffi_status ffi_prep_cif(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int nargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
+ffi_status ffi_prep_cif_var(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int nfixedargs,
+ unsigned int ntotalargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
More information about the commits
mailing list