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

📄 dbf_misc.c

📁 php-4.4.7学习linux时下载的源代码
💻 C
字号:
/* * Copyright (c) 1991, 1992, 1993 Brad Eacker, *              (Music, Intuition, Software, and Computers) * All Rights Reserved */#include <stdlib.h>#include <stdio.h>#include <sys/types.h>#include "dbf_misc.h"#include "php_reentrancy.h"/* * routine to change little endian long to host long */long get_long(char *cp){	int ret;	unsigned char *source = (unsigned char *)cp;	ret = *source++;	ret += ((*source++)<<8);	ret += ((*source++)<<16);	ret += ((*source++)<<24);	return ret;}void put_long(char *cp, long lval){	*cp++ = lval & 0xff;	*cp++ = (lval >> 8) & 0xff;	*cp++ = (lval >> 16) & 0xff;	*cp++ = (lval >> 24) & 0xff;}/* * routine to change little endian short to host short */int get_short(char *cp){	int ret;	unsigned char *source = (unsigned char *)cp;	ret = *source++;	ret += ((*source++)<<8);	return ret;}void put_short(char *cp, int sval){	*cp++ = sval & 0xff;	*cp++ = (sval >> 8) & 0xff;}double get_double(char *cp){	double ret;	unsigned char *dp = (unsigned char *)&ret;	dp[7] = *cp++;	dp[6] = *cp++;	dp[5] = *cp++;	dp[4] = *cp++;	dp[3] = *cp++;	dp[2] = *cp++;	dp[1] = *cp++;	dp[0] = *cp++;	return ret;}void put_double(char *cp, double fval){	unsigned char *dp = (unsigned char *)&fval;	cp[7] = *dp++;	cp[6] = *dp++;	cp[5] = *dp++;	cp[4] = *dp++;	cp[3] = *dp++;	cp[2] = *dp++;	cp[1] = *dp++;	cp[0] = *dp++;}void copy_fill(char *dp, char *sp, int len){	while (*sp && len > 0) {		*dp++ = *sp++;		len--;	}	while (len-- > 0)		*dp++ = ' ';}void copy_crimp(char *dp, char *sp, int len){	while (len-- > 0) {		*dp++ = *sp++;	}	*dp = 0;	for (dp-- ; *dp == ' '; dp--) {		*dp = 0;	}}void db_set_date(char *cp, int year, int month, int day){	if (month > 12)		month = 0;	if (day > 31)		day = 0;	sprintf(cp, "%d", year);	cp[4] = month / 10 + '0';	cp[5] = month % 10 + '0';	cp[6] = day / 10 + '0';	cp[7] = day % 10 + '0';	cp[8] = 0;}int db_date_year(char *cp){	int	year, i;	for (year = 0, i = 0; i < 4; i++)		year = year * 10 + (cp[i] - '0');	return year;}int db_date_month(char *cp){	int	month, i;	for (month = 0, i = 4; i < 6; i++)		month = month * 10 + (cp[i] - '0');	return month;}int db_date_day(char *cp){	int	day, i;	for (day = 0, i = 6; i < 8; i++)		day = day * 10 + (cp[i] - '0');	return day;}#include <time.h>char *db_cur_date(char *cp){	struct tm *ctm, tmbuf;	time_t	  c_time;	c_time = time((time_t *)NULL);	ctm = php_localtime_r(&c_time, &tmbuf);	if (cp == NULL)		cp = (char *)malloc(9);	if (ctm == NULL || cp == NULL)		return NULL;	db_set_date(cp, ctm->tm_year + 1900, ctm->tm_mon + 1, ctm->tm_mday);	return cp;}/* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: * vim600: sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */

⌨️ 快捷键说明

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