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

📄 defaults.c

📁 刻录光盘的程序
💻 C
字号:
/* @(#)defaults.c	1.2 00/01/13 Copyright 1998 J. Schilling */#ifndef lintstatic	char sccsid[] =	"@(#)defaults.c	1.2 00/01/13 Copyright 1998 J. Schilling";#endif/* *	Copyright (c) 1998 J. Schilling *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */#include <mconfig.h>#include <stdxlib.h>#include <strdefs.h>#include <stdio.h>#include <standard.h>#include <deflts.h>#include <utypes.h>#include "cdrecord.h"EXPORT	void	cdr_defaults	__PR((char **devp, int *speedp, long *fsp));LOCAL	void	cdr_xdefaults	__PR((char **devp, int *speedp, long *fsp));LOCAL	char *	strsv		__PR((char* s));EXPORT voidcdr_defaults(devp, speedp, fsp)	char	**devp;	int	*speedp;	long	*fsp;{	char	*dev	= *devp;	int	speed	= *speedp;	long	fs	= *fsp;	if (!dev) {		*devp = getenv("CDR_DEVICE");		if (!*devp && defltopen("/etc/default/cdrecord") == 0) {			dev = defltread("CDR_DEVICE=");			if (dev != NULL)				*devp = strsv(dev);		}	}	if (*devp)		cdr_xdefaults(devp, &speed, &fs);	if (speed < 0) {		char	*p = getenv("CDR_SPEED");		if (!p) {			if (defltopen("/etc/default/cdrecord") == 0) {				p = defltread("CDR_SPEED=");			}		}		if (p) {			speed = atoi(p);			if (speed < 0)				comerrno(EX_BAD, "Bad speed environment.\n");		}	}	if (speed >= 0)		*speedp = speed;	if (fs < 0L) {		char	*p = getenv("CDR_FIFOSIZE");		if (!p) {			if (defltopen("/etc/default/cdrecord") == 0) {				p = defltread("CDR_FIFOSIZE=");			}		}		if (p) {			if (getnum(p, &fs) != 1)				comerrno(EX_BAD, "Bad fifo size environment.\n");		}	}	if (fs > 0L)		*fsp = fs;	defltclose();}LOCAL voidcdr_xdefaults(devp, speedp, fsp)	char	**devp;	int	*speedp;	long	*fsp;{	char	dname[64];	char	*p = *devp;	char	*x = ",:/@";	while (*x) {		if (strchr(p, *x))			return;		x++;	}	sprintf(dname, "%s=", p);	if (defltopen("/etc/default/cdrecord") != 0)		return;	p = defltread(dname);	if (p != NULL) {		while (*p == '\t')			p++;		if ((x = strchr(p, '\t')) != NULL)			*x = '\0';		*devp = strsv(p);		if (x) {			p = ++x;			while (*p == '\t')				p++;			if ((x = strchr(p, '\t')) != NULL)				*x = '\0';			if (*speedp < 0)				*speedp = atoi(p);		}		if (x) {			p = ++x;			while (*p == '\t')				p++;			if ((x = strchr(p, '\t')) != NULL)				*x = '\0';			if (*fsp < 0L) {				if (getnum(p, fsp) != 1)					comerrno(EX_BAD,					"Bad fifo size in defaults.\n");			}		}	}}LOCAL char *strsv(s)	char	*s;{	char	*p;	int len = strlen(s);	p = malloc(len+1);	if (p)		strcpy(p, s);	return (p);}

⌨️ 快捷键说明

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