From owner-freebsd-hackers Sun May 4 08:21:44 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id IAA29297 for hackers-outgoing; Sun, 4 May 1997 08:21:44 -0700 (PDT) Received: from gatekeeper.barcode.co.il (gatekeeper.barcode.co.il [192.116.93.17]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA29289 for ; Sun, 4 May 1997 08:21:39 -0700 (PDT) Received: (from nadav@localhost) by gatekeeper.barcode.co.il (8.8.5/8.6.12) id SAA26491; Sun, 4 May 1997 18:19:32 +0300 (IDT) Date: Sun, 4 May 1997 18:19:32 +0300 (IDT) From: Nadav Eiron To: hackers@freebsd.org Subject: /usr/include/ftpio.h is not C++ safe Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1674567254-862759172=:26341" Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1674567254-862759172=:26341 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, This is a second try on this, following some comments from Chuck Robey. /usr/include/ftpio.h (the same as src/lib/libftpio/ftpio.h) does not work with C++ files. It compiles, but missing extern "C" on all externs, it does not link correctly. I know most of FreeBSD is not C++, but I think having files from /usr/include work correctly is worth the effort (anyhow, I needed ftp access from a C++ program, and libftpio seems to do the job right). Well, here is the diff for the changes (it should also make it compile under K&R). The diff is against 2.1.7, but it's the same for 2.2.1 (sorry, I don't run -current here). comments? --0-1674567254-862759172=:26341 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ftpio.h.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: KioqIC91c3Ivc3JjL2xpYi9saWJmdHBpby9mdHBpby5oLm9yaWcJRnJpIEZl YiAgNyAwNDo1MTozMyAxOTk3DQotLS0gL3Vzci9zcmMvbGliL2xpYmZ0cGlv L2Z0cGlvLmgJRnJpIE1heSAgMiAxMDowMjozNiAxOTk3DQoqKioqKioqKioq KioqKioNCioqKiAyLDcgKioqKg0KLS0tIDIsOCAtLS0tDQogICNkZWZpbmUg X0ZUUF9IX0lOQ0xVREUNCiAgDQogICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4N CisgI2luY2x1ZGUgPHN5cy9jZGVmcy5oPg0KICAjaW5jbHVkZSA8c3RkaW8u aD4NCiAgI2luY2x1ZGUgPHRpbWUuaD4NCiAgDQoqKioqKioqKioqKioqKioN CioqKiA0Miw2NCAqKioqDQogICAgY29uc3QgaW50CW51bTsNCiAgICBjb25z dCBjaGFyCSpzdHJpbmc7DQogIH07DQogIGV4dGVybiBzdHJ1Y3QJZnRwZXJy IGZ0cEVyckxpc3RbXTsNCiAgZXh0ZXJuIGludAljb25zdCBmdHBFcnJMaXN0 TGVuZ3RoOw0KICANCiAgLyogRXhwb3J0ZWQgcm91dGluZXMgLSBkZWFsIG9u bHkgd2l0aCBGSUxFKiB0eXBlICovDQohIGV4dGVybiBGSUxFCSpmdHBMb2dp bihjaGFyICpob3N0LCBjaGFyICp1c2VyLCBjaGFyICpwYXNzd2QsCWludCBw b3J0LCBpbnQgdmVyYm9zZSwgaW50ICpyZXRjb2RlKTsNCiEgZXh0ZXJuIGlu dAlmdHBDaGRpcihGSUxFICpmcCwgY2hhciAqZGlyKTsNCiEgZXh0ZXJuIGlu dAlmdHBFcnJubyhGSUxFICpmcCk7DQohIGV4dGVybiBvZmZfdAlmdHBHZXRT aXplKEZJTEUgKmZwLCBjaGFyICpmaWxlKTsNCiEgZXh0ZXJuIEZJTEUJKmZ0 cEdldChGSUxFICpmcCwgY2hhciAqZmlsZSwgb2ZmX3QgKnNlZWt0byk7DQoh IGV4dGVybiBGSUxFCSpmdHBQdXQoRklMRSAqZnAsIGNoYXIgKmZpbGUpOw0K ISBleHRlcm4gaW50CWZ0cEFzY2lpKEZJTEUgKmZwKTsNCiEgZXh0ZXJuIGlu dAlmdHBCaW5hcnkoRklMRSAqZnApOw0KISBleHRlcm4gaW50CWZ0cFBhc3Np dmUoRklMRSAqZnAsIGludCBzdGF0dXMpOw0KISBleHRlcm4gdm9pZAlmdHBW ZXJib3NlKEZJTEUgKmZwLCBpbnQgc3RhdHVzKTsNCiEgZXh0ZXJuIEZJTEUJ KmZ0cEdldFVSTChjaGFyCSp1cmwsIGNoYXIgKnVzZXIsIGNoYXIgKnBhc3N3 ZCwJaW50ICpyZXRjb2RlKTsNCiEgZXh0ZXJuIEZJTEUJKmZ0cFB1dFVSTChj aGFyCSp1cmwsIGNoYXIgKnVzZXIsIGNoYXIgKnBhc3N3ZCwJaW50ICpyZXRj b2RlKTsNCiEgZXh0ZXJuIHRpbWVfdAlmdHBHZXRNb2R0aW1lKEZJTEUgKmZw LCBjaGFyICpzKTsNCiEgZXh0ZXJuIGNvbnN0CWNoYXIgKmZ0cEVyclN0cmlu ZyhpbnQgZXJybm8pOw0KICANCiAgI2VuZGlmCS8qIF9GVFBfSF9JTkNMVURF ICovDQotLS0gNDMsNjggLS0tLQ0KICAgIGNvbnN0IGludAludW07DQogICAg Y29uc3QgY2hhcgkqc3RyaW5nOw0KICB9Ow0KKyANCisgX19CRUdJTl9ERUNM Uw0KICBleHRlcm4gc3RydWN0CWZ0cGVyciBmdHBFcnJMaXN0W107DQogIGV4 dGVybiBpbnQJY29uc3QgZnRwRXJyTGlzdExlbmd0aDsNCiAgDQogIC8qIEV4 cG9ydGVkIHJvdXRpbmVzIC0gZGVhbCBvbmx5IHdpdGggRklMRSogdHlwZSAq Lw0KISBleHRlcm4gRklMRQkqZnRwTG9naW4gX19QKChjaGFyICpob3N0LCBj aGFyICp1c2VyLCBjaGFyICpwYXNzd2QsCWludCBwb3J0LCBpbnQgdmVyYm9z ZSwgaW50ICpyZXRjb2RlKSk7DQohIGV4dGVybiBpbnQJZnRwQ2hkaXIJX19Q KChGSUxFICpmcCwgY2hhciAqZGlyKSk7DQohIGV4dGVybiBpbnQJZnRwRXJy bm8JX19QKChGSUxFICpmcCkpOw0KISBleHRlcm4gb2ZmX3QJZnRwR2V0U2l6 ZQlfX1AoKEZJTEUgKmZwLCBjaGFyICpmaWxlKSk7DQohIGV4dGVybiBGSUxF CSpmdHBHZXQJCV9fUCgoRklMRSAqZnAsIGNoYXIgKmZpbGUsIG9mZl90ICpz ZWVrdG8pKTsNCiEgZXh0ZXJuIEZJTEUJKmZ0cFB1dAkJX19QKChGSUxFICpm cCwgY2hhciAqZmlsZSkpOw0KISBleHRlcm4gaW50CWZ0cEFzY2lpCV9fUCgo RklMRSAqZnApKTsNCiEgZXh0ZXJuIGludAlmdHBCaW5hcnkJX19QKChGSUxF ICpmcCkpOw0KISBleHRlcm4gaW50CWZ0cFBhc3NpdmUJX19QKChGSUxFICpm cCwgaW50IHN0YXR1cykpOw0KISBleHRlcm4gdm9pZAlmdHBWZXJib3NlCV9f UCgoRklMRSAqZnAsIGludCBzdGF0dXMpKTsNCiEgZXh0ZXJuIEZJTEUJKmZ0 cEdldFVSTAlfX1AoKGNoYXIJKnVybCwgY2hhciAqdXNlciwgY2hhciAqcGFz c3dkLAlpbnQgKnJldGNvZGUpKTsNCiEgZXh0ZXJuIEZJTEUJKmZ0cFB1dFVS TAlfX1AoKGNoYXIJKnVybCwgY2hhciAqdXNlciwgY2hhciAqcGFzc3dkLAlp bnQgKnJldGNvZGUpKTsNCiEgZXh0ZXJuIHRpbWVfdAlmdHBHZXRNb2R0aW1l CV9fUCgoRklMRSAqZnAsIGNoYXIgKnMpKTsNCiEgZXh0ZXJuIGNvbnN0CWNo YXIgKmZ0cEVyclN0cmluZwlfX1AoKGludCBlcnJubykpOw0KISBfX0VORF9E RUNMUw0KICANCiAgI2VuZGlmCS8qIF9GVFBfSF9JTkNMVURFICovDQo= --0-1674567254-862759172=:26341--