last              543 altq/altq_cdnr.c 	tb->last = read_machclk();
last              600 altq/altq_cdnr.c 		interval = now - tbm->tb.last;
last              608 altq/altq_cdnr.c 		tbm->tb.last = now;
last              707 altq/altq_cdnr.c 		interval = now - tcm->cmtd_tb.last;
last              715 altq/altq_cdnr.c 		tcm->cmtd_tb.last = now;
last              718 altq/altq_cdnr.c 		interval = now - tcm->peak_tb.last;
last              726 altq/altq_cdnr.c 		tcm->peak_tb.last = now;
last              249 altq/altq_cdnr.h 	u_int64_t	last;
last             1155 altq/altq_hfsc.c 	struct hfsc_class *p, *last;
last             1166 altq/altq_hfsc.c 	last = TAILQ_LAST(hif->hif_eligible, _eligible);
last             1167 altq/altq_hfsc.c 	ASSERT(last != NULL);
last             1168 altq/altq_hfsc.c 	if (last->cl_e <= cl->cl_e) {
last             1253 altq/altq_hfsc.c 	struct hfsc_class *p, *last;
last             1265 altq/altq_hfsc.c 	last = TAILQ_LAST(cl->cl_parent->cl_actc, _active);
last             1266 altq/altq_hfsc.c 	ASSERT(last != NULL);
last             1267 altq/altq_hfsc.c 	if (last->cl_vt <= cl->cl_vt) {
last              252 altq/altq_rio.c 		microtime(&prec->last);
last              331 altq/altq_rio.c 			t = (now.tv_sec - prec->last.tv_sec);
last              336 altq/altq_rio.c 					(now.tv_usec - prec->last.tv_usec);
last              433 altq/altq_rio.c 				microtime(&rp->rio_precstate[i].last);
last               93 altq/altq_rio.h 		struct timeval	last;	/* timestamp when queue becomes idle */
last               49 arch/i386/include/stdarg.h #define va_start(ap, last) \
last               50 arch/i386/include/stdarg.h 	((ap) = (va_list)__builtin_next_arg(last))
last              380 dev/ic/aic6915.c 	int error, producer, last = -1, opending, seg;
last              483 dev/ic/aic6915.c 		last = producer;
last              501 dev/ic/aic6915.c 		KASSERT(last != -1);
last              508 dev/ic/aic6915.c 		sc->sc_txdescs[last].td_word0 |= TD_W0_INTR;
last              509 dev/ic/aic6915.c 		SF_CDTXDSYNC(sc, last, BUS_DMASYNC_PREWRITE);
last             10217 dev/ic/aic79xx.c 	     void *sgptr, bus_addr_t addr, bus_size_t len, int last)
last             10226 dev/ic/aic79xx.c 		sg->len = aic_htole32(len | (last ? AHD_DMA_LAST_SEG : 0));
last             10234 dev/ic/aic79xx.c 				    | (last ? AHD_DMA_LAST_SEG : 0));
last               99 dev/ic/aic79xx_inline.h 				      bus_size_t len, int last);
last             1302 dev/ic/ar5xxx.c 	u_int32_t mask, entry, last, data, shift, position;
last             1323 dev/ic/ar5xxx.c 		last = (position + left > 8) ? 8 : position + left;
last             1324 dev/ic/ar5xxx.c 		mask = (((1 << last) - 1) ^ ((1 << position) - 1)) <<
last             1334 dev/ic/ar5xxx.c 			shift += last - position;
last              354 dev/ic/sti.c   		r.last = 0;
last              355 dev/ic/sti.c   		for (p = cc->regions; !r.last &&
last              372 dev/ic/sti.c   			    r.last? " last" : "");
last              503 dev/ic/sti.c   	    fp->type, fp->bpc, fp->first, fp->last);
last              583 dev/ic/sti.c   			fp->last   = parseshort(addr + 0x08);
last              602 dev/ic/sti.c   		    (fp->last - fp->first + 1) * fp->bpc;
last              633 dev/ic/sti.c   		for (uc = fp->first; uc <= fp->last; uc++) {
last             1005 dev/ic/sti.c   	if (c == -1 || c < fp->first || c > fp->last) {
last              169 dev/ic/stireg.h 	u_int	last    : 1;	/* last region in the list */
last              175 dev/ic/stireg.h 	u_int16_t	last;
last              190 dev/ic/stireg.h 	u_int16_t	last;
last              359 dev/pci/bktr/bktr_core.c static int      i2c_read_byte( bktr_ptr_t bktr, unsigned char *data, int last );
last             3723 dev/pci/bktr/bktr_core.c static int i2c_read_byte( bktr_ptr_t bktr, unsigned char *data, int last ) {
last             3741 dev/pci/bktr/bktr_core.c         if (last) { /* send NAK - same a writing a 1 */
last             1350 dev/pci/hifn7751.c 	u_int32_t last = 0;
last             1355 dev/pci/hifn7751.c 			last = HIFN_D_LAST;
last             1359 dev/pci/hifn7751.c 		    HIFN_D_VALID | HIFN_D_MASKDONEIRQ | last);
last              937 dev/pci/if_em.c 	int		i, j, first, error = 0, last = 0;
last             1020 dev/pci/if_em.c 				last = i;
last             1036 dev/pci/if_em.c 			last = i;
last             1070 dev/pci/if_em.c 	tx_buffer->next_eop = last;
last             2120 dev/pci/if_em.c 	int first, last, done, num_avail;
last             2132 dev/pci/if_em.c 	last = tx_buffer->next_eop;
last             2133 dev/pci/if_em.c 	eop_desc = &sc->tx_desc_base[last];
last             2141 dev/pci/if_em.c 	if (++last == sc->num_tx_desc)
last             2142 dev/pci/if_em.c 		last = 0;
last             2143 dev/pci/if_em.c 	done = last;
last             2176 dev/pci/if_em.c 		last = tx_buffer->next_eop;
last             2177 dev/pci/if_em.c 		if (last != -1) {
last             2178 dev/pci/if_em.c 			eop_desc = &sc->tx_desc_base[last];
last             2180 dev/pci/if_em.c 			if (++last == sc->num_tx_desc)
last             2181 dev/pci/if_em.c 				last = 0;
last             2182 dev/pci/if_em.c 			done = last;
last              799 dev/pci/musycc.c 	struct dma_desc		*dd = NULL, *last;
last              829 dev/pci/musycc.c 			last = md->rx_prod = dd;
last              832 dev/pci/musycc.c 	dd->nextdesc = last;
last              833 dev/pci/musycc.c 	dd->next = htole32(base + (caddr_t)last - mg->mg_listkva);
last              204 dev/sequencer.c 	sc->timer.last = 0;
last              827 dev/sequencer.c 		parm += t->last;
last              830 dev/sequencer.c 		t->last = parm;
last              883 dev/sequencer.c 		t->last = 0;
last               45 dev/sequencervar.h 	u_long	last;
last              883 dev/usb/ehci.c 	static int last;
last              886 dev/usb/ehci.c 	if (new != last) {
last              888 dev/usb/ehci.c 		last = new;
last             1634 dev/usb/ohci.c 	static int last;
last             1637 dev/usb/ohci.c 	if (new != last) {
last             1639 dev/usb/ohci.c 		last = new;
last             1082 dev/usb/usbdi.c usbd_ratecheck(struct timeval *last)
last             1086 dev/usb/usbdi.c 	return (ratecheck(last, &errinterval));
last              173 dev/usb/usbdi.h int usbd_ratecheck(struct timeval *last);
last              343 kern/exec_elf.c 	struct elf_args *ap, Elf_Addr *last)
last              361 kern/exec_elf.c 	Elf_Addr pos = *last;
last              422 kern/exec_elf.c 	*last = epp->ep_interp_pos = pos;
last              462 kern/exec_elf.c 			epp->ep_interp_pos = *last = pos;
last              482 kern/exec_elf.c 				addr = *last;
last              518 kern/exec_elf.c 	*last = addr;
last              124 kern/kern_descrip.c find_last_set(struct filedesc *fd, int last)
last              130 kern/kern_descrip.c 	off = (last - 1) >> NDENTRYSHIFT;
last              138 kern/kern_descrip.c 	if (i >= last)
last              139 kern/kern_descrip.c 		i = last - 1;
last              677 kern/kern_descrip.c 	int lim, last, i;
last              687 kern/kern_descrip.c 	last = min(fdp->fd_nfiles, lim);
last              692 kern/kern_descrip.c 	    (last + NDENTRIES - 1) >> NDENTRYSHIFT);
last              706 kern/kern_descrip.c 		if (i < last) {
last              388 kern/subr_extent.c 	struct extent_region *rp, *last, *myrp;
last              453 kern/subr_extent.c 	last = NULL;
last              490 kern/subr_extent.c 		last = rp;
last              498 kern/subr_extent.c 	extent_insert_and_optimize(ex, start, size, last, myrp);
last              523 kern/subr_extent.c 	struct extent_region *rp, *myrp, *last, *bestlast;
last              578 kern/subr_extent.c 	last = NULL;
last              628 kern/subr_extent.c 		last = rp;
last              636 kern/subr_extent.c 	if (last != NULL && last->er_end >= newstart)
last              637 kern/subr_extent.c 		newstart = extent_align((last->er_end + 1), alignment, skew);
last              720 kern/subr_extent.c 				bestlast = last;
last              738 kern/subr_extent.c 		last = rp;
last              815 kern/subr_extent.c 			bestlast = last;
last              838 kern/subr_extent.c 		last = bestlast;
last              862 kern/subr_extent.c 	extent_insert_and_optimize(ex, newstart, size, last, myrp);
last               59 kern/tty_nmea.c 	int64_t			last;		/* last time rcvd */
last              275 kern/tty_nmea.c 	if (nmea_now <= np->last) {
last              279 kern/tty_nmea.c 	np->last = nmea_now;
last              257 lib/libz/infback.c     code last;                  /* parent table entry */
last              271 lib/libz/infback.c     state->last = 0;
last              285 lib/libz/infback.c             if (state->last) {
last              291 lib/libz/infback.c             state->last = BITS(1);
last              296 lib/libz/infback.c                         state->last ? " (last)" : ""));
last              302 lib/libz/infback.c                         state->last ? " (last)" : ""));
last              307 lib/libz/infback.c                         state->last ? " (last)" : ""));
last              496 lib/libz/infback.c                 last = this;
last              498 lib/libz/infback.c                     this = state->lencode[last.val +
last              499 lib/libz/infback.c                             (BITS(last.bits + last.op) >> last.bits)];
last              500 lib/libz/infback.c                     if ((unsigned)(last.bits + this.bits) <= bits) break;
last              503 lib/libz/infback.c                 DROPBITS(last.bits);
last              550 lib/libz/infback.c                 last = this;
last              552 lib/libz/infback.c                     this = state->distcode[last.val +
last              553 lib/libz/infback.c                             (BITS(last.bits + last.op) >> last.bits)];
last              554 lib/libz/infback.c                     if ((unsigned)(last.bits + this.bits) <= bits) break;
last              557 lib/libz/infback.c                 DROPBITS(last.bits);
last               74 lib/libz/inffast.c     unsigned char FAR *last;    /* while in < last, enough input available */
last              101 lib/libz/inffast.c     last = in + (strm->avail_in - 5);
last              298 lib/libz/inffast.c     } while (in < last && out < end);
last              309 lib/libz/inffast.c     strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
last              115 lib/libz/inflate.c     state->last = 0;
last              569 lib/libz/inflate.c     code last;                  /* parent table entry */
last              804 lib/libz/inflate.c             if (state->last) {
last              810 lib/libz/inflate.c             state->last = BITS(1);
last              815 lib/libz/inflate.c                         state->last ? " (last)" : ""));
last              821 lib/libz/inflate.c                         state->last ? " (last)" : ""));
last              826 lib/libz/inflate.c                         state->last ? " (last)" : ""));
last             1025 lib/libz/inflate.c                 last = this;
last             1027 lib/libz/inflate.c                     this = state->lencode[last.val +
last             1028 lib/libz/inflate.c                             (BITS(last.bits + last.op) >> last.bits)];
last             1029 lib/libz/inflate.c                     if ((unsigned)(last.bits + this.bits) <= bits) break;
last             1032 lib/libz/inflate.c                 DROPBITS(last.bits);
last             1074 lib/libz/inflate.c                 last = this;
last             1076 lib/libz/inflate.c                     this = state->distcode[last.val +
last             1077 lib/libz/inflate.c                             (BITS(last.bits + last.op) >> last.bits)];
last             1078 lib/libz/inflate.c                     if ((unsigned)(last.bits + this.bits) <= bits) break;
last             1081 lib/libz/inflate.c                 DROPBITS(last.bits);
last             1230 lib/libz/inflate.c     strm->data_type = state->bits + (state->last ? 64 : 0) +
last               79 lib/libz/inflate.h     int last;                   /* true if processing last block */
last              598 net/pf.c       	threshold->last = time_second;
last              604 net/pf.c       	u_int32_t t = time_second, diff = t - threshold->last;
last              612 net/pf.c       	threshold->last = t;
last             2820 net/pf_ioctl.c 			diff = secs - n->conn_rate.last;
last              720 net/pfkeyv2.c  pfkeyv2_dump_walker(struct tdb *sa, void *state, int last)
last              736 net/pfkeyv2.c  		if (last)
last              755 net/pfkeyv2.c  pfkeyv2_flush_walker(struct tdb *sa, void *satype_vp, int last)
last             2226 net/pfkeyv2.c  pfkeyv2_sysctl_walker(struct tdb *sa, void *arg, int last)
last              629 net/pfvar.h    	u_int32_t	last;
last               75 net/raw_usrreq.c 	struct socket *last;
last               86 net/raw_usrreq.c 	last = 0;
last              107 net/raw_usrreq.c 		if (last) {
last              110 net/raw_usrreq.c 				if (sbappendaddr(&last->so_rcv, src,
last              115 net/raw_usrreq.c 					sorwakeup(last);
last              120 net/raw_usrreq.c 		last = rp->rcb_socket;
last              122 net/raw_usrreq.c 	if (last) {
last              123 net/raw_usrreq.c 		if (sbappendaddr(&last->so_rcv, src,
last              127 net/raw_usrreq.c 			sorwakeup(last);
last             3093 net/zlib.c       uInt last;            /* true if this block is the last block */
last             3291 net/zlib.c           s->last = t & 1;
last             3296 net/zlib.c                      s->last ? " (last)" : ""));
last             3304 net/zlib.c                      s->last ? " (last)" : ""));
last             3324 net/zlib.c                      s->last ? " (last)" : ""));
last             3365 net/zlib.c           s->mode = s->last ? DRY : TYPE;
last             3507 net/zlib.c           if (!s->last)
last              307 netinet/in_pcb.c 		u_int16_t first, last;
last              312 netinet/in_pcb.c 			last = ipport_hilastauto;
last              317 netinet/in_pcb.c 			last = 600;		   /* not IPPORT_RESERVED/2 */
last              320 netinet/in_pcb.c 			last  = ipport_lastauto;
last              331 netinet/in_pcb.c 		if (first > last) {
last              335 netinet/in_pcb.c 			count = first - last;
last              343 netinet/in_pcb.c 				if (*lastport > first || *lastport < last)
last              353 netinet/in_pcb.c 			count = last - first;
last              361 netinet/in_pcb.c 				if (*lastport < first || *lastport > last)
last              245 netinet/ip_carp.c 	struct in_addr last, cur, in;
last              280 netinet/ip_carp.c 		last = cur;
last              285 netinet/ip_carp.c 			    ntohl(in.s_addr) > ntohl(last.s_addr) &&
last             1332 netinet/ip_carp.c 	int cur, last, count, found;
last             1372 netinet/ip_carp.c 		last = cur;
last             1391 netinet/ip_carp.c 			if (ifa && vh->sc_vhid > last && vh->sc_vhid < cur) {
last              123 netinet/raw_ip.c 	struct inpcb *inp, *last = NULL;
last              140 netinet/raw_ip.c 		if (last) {
last              144 netinet/raw_ip.c 				if (last->inp_flags & INP_CONTROLOPTS)
last              145 netinet/raw_ip.c 					ip_savecontrol(last, &opts, ip, n);
last              146 netinet/raw_ip.c 				if (sbappendaddr(&last->inp_socket->so_rcv,
last              153 netinet/raw_ip.c 					sorwakeup(last->inp_socket);
last              157 netinet/raw_ip.c 		last = inp;
last              159 netinet/raw_ip.c 	if (last) {
last              160 netinet/raw_ip.c 		if (last->inp_flags & INP_CONTROLOPTS)
last              161 netinet/raw_ip.c 			ip_savecontrol(last, &opts, ip, m);
last              162 netinet/raw_ip.c 		if (sbappendaddr(&last->inp_socket->so_rcv, sintosa(&ripsrc), m,
last              168 netinet/raw_ip.c 			sorwakeup(last->inp_socket);
last              394 netinet/udp_usrreq.c 		struct inpcb *last;
last              417 netinet/udp_usrreq.c 		last = NULL;
last              456 netinet/udp_usrreq.c 			if (last != NULL) {
last              461 netinet/udp_usrreq.c 					if (ip6 && (last->inp_flags &
last              463 netinet/udp_usrreq.c 						ip6_savecontrol(last, n, &opts);
last              465 netinet/udp_usrreq.c 					if (ip && (last->inp_flags &
last              467 netinet/udp_usrreq.c 						ip_savecontrol(last, &opts,
last              472 netinet/udp_usrreq.c 					    &last->inp_socket->so_rcv,
last              479 netinet/udp_usrreq.c 						sorwakeup(last->inp_socket);
last              483 netinet/udp_usrreq.c 			last = inp;
last              492 netinet/udp_usrreq.c 			if ((last->inp_socket->so_options & (SO_REUSEPORT |
last              497 netinet/udp_usrreq.c 		if (last == NULL) {
last              508 netinet/udp_usrreq.c 		if (ip6 && (last->inp_flags & IN6P_CONTROLOPTS))
last              509 netinet/udp_usrreq.c 			ip6_savecontrol(last, m, &opts);
last              511 netinet/udp_usrreq.c 		if (ip && (last->inp_flags & INP_CONTROLOPTS))
last              512 netinet/udp_usrreq.c 			ip_savecontrol(last, &opts, ip, m);
last              515 netinet/udp_usrreq.c 		if (sbappendaddr(&last->inp_socket->so_rcv,
last              520 netinet/udp_usrreq.c 		sorwakeup(last->inp_socket);
last             1894 netinet6/icmp6.c 	struct in6pcb *last = NULL;
last             1926 netinet6/icmp6.c 		if (last) {
last             1929 netinet6/icmp6.c 				if (last->in6p_flags & IN6P_CONTROLOPTS)
last             1930 netinet6/icmp6.c 					ip6_savecontrol(last, n, &opts);
last             1933 netinet6/icmp6.c 				if (sbappendaddr(&last->in6p_socket->so_rcv,
last             1941 netinet6/icmp6.c 					sorwakeup(last->in6p_socket);
last             1945 netinet6/icmp6.c 		last = in6p;
last             1947 netinet6/icmp6.c 	if (last) {
last             1948 netinet6/icmp6.c 		if (last->in6p_flags & IN6P_CONTROLOPTS)
last             1949 netinet6/icmp6.c 			ip6_savecontrol(last, m, &opts);
last             1952 netinet6/icmp6.c 		if (sbappendaddr(&last->in6p_socket->so_rcv,
last             1959 netinet6/icmp6.c 			sorwakeup(last->in6p_socket);
last              309 netinet6/in6_pcb.c 	u_int16_t first, last;
last              325 netinet6/in6_pcb.c 		last = ipport_hilastauto;
last              330 netinet6/in6_pcb.c 		last = 600;		   /* not IPPORT_RESERVED/2 */
last              333 netinet6/in6_pcb.c 		last  = ipport_lastauto;
last              344 netinet6/in6_pcb.c 	if (first > last) {
last              348 netinet6/in6_pcb.c 		count = first - last;
last              356 netinet6/in6_pcb.c 			if (*lastport > first || *lastport < last)
last              366 netinet6/in6_pcb.c 		count = last - first;
last              374 netinet6/in6_pcb.c 			if (*lastport < first || *lastport > last)
last              338 netinet6/nd6.h 		struct nd_opt_hdr *last;	/* multiple opts */
last              350 netinet6/nd6.h #define nd_opts_last		nd_opt_each.last
last              151 netinet6/raw_ip6.c 	struct in6pcb *last = NULL;
last              201 netinet6/raw_ip6.c 		if (last) {
last              204 netinet6/raw_ip6.c 				if (last->in6p_flags & IN6P_CONTROLOPTS)
last              205 netinet6/raw_ip6.c 					ip6_savecontrol(last, n, &opts);
last              208 netinet6/raw_ip6.c 				if (sbappendaddr(&last->in6p_socket->so_rcv,
last              216 netinet6/raw_ip6.c 					sorwakeup(last->in6p_socket);
last              220 netinet6/raw_ip6.c 		last = in6p;
last              222 netinet6/raw_ip6.c 	if (last) {
last              223 netinet6/raw_ip6.c 		if (last->in6p_flags & IN6P_CONTROLOPTS)
last              224 netinet6/raw_ip6.c 			ip6_savecontrol(last, m, &opts);
last              227 netinet6/raw_ip6.c 		if (sbappendaddr(&last->in6p_socket->so_rcv,
last              234 netinet6/raw_ip6.c 			sorwakeup(last->in6p_socket);
last              441 scsi/scsiconf.c 	u_char				last;
last              451 scsi/scsiconf.c 	last = 0xff;
last              460 scsi/scsiconf.c 			if (last != ' ')
last              462 scsi/scsiconf.c 			last = ' ';
last              468 scsi/scsiconf.c 			last = '\\';
last              481 scsi/scsiconf.c 			last = *src;
last              440 ufs/ext2fs/ext2fs_inode.c 	int32_t *copy = NULL, nb, nlbn, last;
last              453 ufs/ext2fs/ext2fs_inode.c 	last = lastbn;
last              455 ufs/ext2fs/ext2fs_inode.c 		last /= factor;
last              486 ufs/ext2fs/ext2fs_inode.c 		memset((caddr_t)&bap[last + 1], 0,
last              487 ufs/ext2fs/ext2fs_inode.c 			(u_int)(NINDIR(fs) - (last + 1)) * sizeof (u_int32_t));
last              498 ufs/ext2fs/ext2fs_inode.c 		nlbn = lbn + 1 - i * factor; i > last;
last              519 ufs/ext2fs/ext2fs_inode.c 		last = lastbn % factor;
last              523 ufs/ext2fs/ext2fs_inode.c 						   last, level - 1, &blkcount);
last              109 ufs/ext2fs/ext2fs_subr.c 	int32_t start, last;
last              113 ufs/ext2fs/ext2fs_subr.c 	last = start + btodb(bp->b_bcount) - 1;
last              123 ufs/ext2fs/ext2fs_subr.c 		if (ep->b_bcount == 0 || ep->b_blkno > last ||
last              128 ufs/ext2fs/ext2fs_subr.c 			start, last, ep->b_blkno,
last              476 ufs/ffs/ffs_inode.c 	daddr_t nb, nlbn, last;
last              493 ufs/ffs/ffs_inode.c 	last = lastbn;
last              495 ufs/ffs/ffs_inode.c 		last /= factor;
last              533 ufs/ffs/ffs_inode.c 		for (i = last + 1; i < NINDIR(fs); i++)
last              555 ufs/ffs/ffs_inode.c 	for (i = NINDIR(fs) - 1, nlbn = lbn + 1 - i * factor; i > last;
last              576 ufs/ffs/ffs_inode.c 		last = lastbn % factor;
last              580 ufs/ffs/ffs_inode.c 					       last, level - 1, &blkcount);
last              126 ufs/ffs/ffs_subr.c 	daddr_t start, last;
last              131 ufs/ffs/ffs_subr.c 	last = start + btodb(bp->b_bcount) - 1;
last              141 ufs/ffs/ffs_subr.c 		if (ep->b_bcount == 0 || ep->b_blkno > last ||
last              146 ufs/ffs/ffs_subr.c 			start, last, ep->b_blkno,
last              956 uvm/uvm_map.c  	struct vm_map_entry *last;
last              989 uvm/uvm_map.c  		last = &map->header;
last              990 uvm/uvm_map.c  		if ((cur != last) && (cur->end > address)) {
last             1004 uvm/uvm_map.c  		last = cur->next;
last             1040 uvm/uvm_map.c  	while (cur != last) {
last             1651 uvm/uvm_map.c  	struct vm_map_entry *oldent, *last;
last             1711 uvm/uvm_map.c  		last = newents->prev;		/* we expect this */
last             1716 uvm/uvm_map.c  			map->first_free = last;
last             1718 uvm/uvm_map.c  		last->next = oldent->next;
last             1719 uvm/uvm_map.c  		last->next->prev = last;