From owner-p4-projects@FreeBSD.ORG Mon Apr 9 04:10:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D61F16A403; Mon, 9 Apr 2007 04:10:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BC7A916A401 for ; Mon, 9 Apr 2007 04:10:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AC5CA13C46A for ; Mon, 9 Apr 2007 04:10:55 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l394AtUh065918 for ; Mon, 9 Apr 2007 04:10:55 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l394Atik065904 for perforce@freebsd.org; Mon, 9 Apr 2007 04:10:55 GMT (envelope-from sam@freebsd.org) Date: Mon, 9 Apr 2007 04:10:55 GMT Message-Id: <200704090410.l394Atik065904@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 117714 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2007 04:10:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=117714 Change 117714 by sam@sam_ebb on 2007/04/09 04:10:05 move idiom for copying an information element into a function Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#73 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#73 (text+ko) ==== @@ -241,6 +241,16 @@ return error; } +static __inline u_int8_t * +copyie(u_int8_t *cp, const u_int8_t *ie) +{ + if (ie != NULL) { + memcpy(cp, ie, 2+ie[1]); + cp += 2+ie[1]; + } + return cp; +} + #ifdef COMPAT_FREEBSD6 #define IEEE80211_IOC_SCAN_RESULTS_OLD 24 @@ -331,14 +341,8 @@ memcpy(cp, se->se_ssid+2, sr->isr_ssid_len); cp += sr->isr_ssid_len; if (sr->isr_ie_len) { - if (se->se_wpa_ie != NULL) { - memcpy(cp, se->se_wpa_ie, 2+se->se_wpa_ie[1]); - cp += 2+se->se_wpa_ie[1]; - } - if (se->se_wme_ie != NULL) { - memcpy(cp, se->se_wme_ie, 2+se->se_wme_ie[1]); - cp += 2+se->se_wme_ie[1]; - } + cp = copyie(cp, se->se_wpa_ie); + cp = copyie(cp, se->se_wme_ie); } req->space -= len; @@ -453,22 +457,10 @@ memcpy(cp, se->se_ssid+2, sr->isr_ssid_len); cp += sr->isr_ssid_len; if (sr->isr_ie_len) { - if (se->se_wpa_ie != NULL) { - memcpy(cp, se->se_wpa_ie, 2+se->se_wpa_ie[1]); - cp += 2+se->se_wpa_ie[1]; - } - if (se->se_rsn_ie != NULL) { - memcpy(cp, se->se_rsn_ie, 2+se->se_rsn_ie[1]); - cp += 2+se->se_rsn_ie[1]; - } - if (se->se_wme_ie != NULL) { - memcpy(cp, se->se_wme_ie, 2+se->se_wme_ie[1]); - cp += 2+se->se_wme_ie[1]; - } - if (se->se_ath_ie != NULL) { - memcpy(cp, se->se_ath_ie, 2+se->se_ath_ie[1]); - cp += 2+se->se_ath_ie[1]; - } + cp = copyie(cp, se->se_wpa_ie); + cp = copyie(cp, se->se_rsn_ie); + cp = copyie(cp, se->se_wme_ie); + cp = copyie(cp, se->se_ath_ie); } req->space -= len; @@ -599,22 +591,10 @@ si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT; cp = (u_int8_t *)(si+1); - if (ni->ni_wpa_ie != NULL) { - memcpy(cp, ni->ni_wpa_ie, 2+ni->ni_wpa_ie[1]); - cp += 2+ni->ni_wpa_ie[1]; - } - if (ni->ni_rsn_ie != NULL) { - memcpy(cp, ni->ni_rsn_ie, 2+ni->ni_rsn_ie[1]); - cp += 2+ni->ni_rsn_ie[1]; - } - if (ni->ni_wme_ie != NULL) { - memcpy(cp, ni->ni_wme_ie, 2+ni->ni_wme_ie[1]); - cp += 2+ni->ni_wme_ie[1]; - } - if (ni->ni_ath_ie != NULL) { - memcpy(cp, ni->ni_ath_ie, 2+ni->ni_ath_ie[1]); - cp += 2+ni->ni_ath_ie[1]; - } + cp = copyie(cp, ni->ni_wpa_ie); + cp = copyie(cp, ni->ni_rsn_ie); + cp = copyie(cp, ni->ni_wme_ie); + cp = copyie(cp, ni->ni_ath_ie); req->si = (struct ieee80211req_sta_info *)(((u_int8_t *)si) + len); req->space -= len;