⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _sfputu.c

📁 su 的源代码库
💻 C
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"sfhdr.h"/*	Write out an unsigned long value in a portable format.****	Written by Kiem-Phong Vo.*/#if __STD_Cint _sfputu(reg Sfio_t* f, Sfulong_t v)#elseint _sfputu(f,v)reg Sfio_t*	f;	/* write a portable ulong to this stream */Sfulong_t	v;	/* the unsigned value to be written */#endif{#define N_ARRAY		(2*sizeof(Sfulong_t))	reg uchar	*s, *ps;	reg ssize_t	n, p;	uchar		c[N_ARRAY];	SFMTXSTART(f, -1);	if(f->mode != SF_WRITE && _sfmode(f,SF_WRITE,0) < 0)		SFMTXRETURN(f, -1);	SFLOCK(f,0);	/* code v as integers in base SF_UBASE */	s = ps = &(c[N_ARRAY-1]);	*s = (uchar)SFUVALUE(v);	while((v >>= SF_UBITS) )		*--s = (uchar)(SFUVALUE(v) | SF_MORE);	n = (ps-s)+1;	if(n > 8 || SFWPEEK(f,ps,p) < n)		n = SFWRITE(f,(Void_t*)s,n); /* write the hard way */	else	{	switch(n)		{		case 8 : *ps++ = *s++;		case 7 : *ps++ = *s++;		case 6 : *ps++ = *s++;		case 5 : *ps++ = *s++;		case 4 : *ps++ = *s++;		case 3 : *ps++ = *s++;		case 2 : *ps++ = *s++;		case 1 : *ps++ = *s++;		}		f->next = ps;	}	SFOPEN(f,0);	SFMTXRETURN(f, (int)n);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -