资源简介
rpm-4.11.2 可下载,可用,这个是从官网扒下来的。
代码片段和文件信息
#include “system.h“
#if HAVE_MCHECK_H
#include
#endif
#include
#include
#include
#include
#include
#include
#include
#include “cliutils.h“
#include “debug.h“
static pid_t pipeChild = 0;
RPM_GNUC_NORETURN
void argerror(const char * desc)
{
fprintf(stderr _(“%s: %s\n“) __progname desc);
exit(EXIT_FAILURE);
}
static void printVersion(FILE * fp)
{
fprintf(fp _(“RPM version %s\n“) rpmEVR);
}
static void printBanner(FILE * fp)
{
fprintf(fp _(“Copyright (C) 1998-2002 - Red Hat Inc.\n“));
fprintf(fp _(“This program may be freely redistributed under the terms of the GNU GPL\n“));
}
void printUsage(poptContext con FILE * fp int flags)
{
printVersion(fp);
printBanner(fp);
fprintf(fp “\n“);
if (rpmIsVerbose())
poptPrintHelp(con fp flags);
else
poptPrintUsage(con fp flags);
}
int initPipe(void)
{
int p[2];
if (pipe(p) < 0) {
fprintf(stderr _(“creating a pipe for --pipe failed: %m\n“));
return -1;
}
if (!(pipeChild = fork())) {
(void) signal(SIGPIPE SIG_DFL);
(void) close(p[1]);
(void) dup2(p[0] STDIN_FILENO);
(void) close(p[0]);
(void) execl(“/bin/sh“ “/bin/sh“ “-c“ rpmcliPipeOutput NULL);
fprintf(stderr _(“exec failed\n“));
exit(EXIT_FAILURE);
}
(void) close(p[0]);
(void) dup2(p[1] STDOUT_FILENO);
(void) close(p[1]);
return 0;
}
int finishPipe(void)
{
int rc = 0;
if (pipeChild) {
int status;
pid_t reaped;
(void) fclose(stdout);
do {
reaped = waitpid(pipeChild &status 0);
} while (reaped == -1 && errno == EINTR);
if (reaped == -1 || !WIFEXITED(status) || WEXITSTATUS(status))
rc = 1;
}
return rc;
}
相关资源
- 老男孩Linux运维笔记高清版,实用有价
- 山东大学linux实验.zip
- Advanced Tool Kit软件(FSL_ATK_TOOL_WINS_ST
- Linux 目录结构及文件基本操作
- 安装、配置、编译Linux内核
- Linux Device Drivers 3rd(中文版-很好)
- gcc-g77-3.4.6-3.i386.rpm
- 嵌入式LINUX课程设计
- Sed & Awk 2nd edition
- seLinux详解
- 庞丽萍-操作系统原理与Linux系统实验
- linux-sys.zh.pdf
- 老男孩linux
- busybox-1.18.4
- bcm_wireless_dirver_linux
- GEC210 Linux驱动源码
- 君正Linux_开发指南.pdf
- Linux-Arm(嵌入式开发参考).pdf
- libstdc-devel-4.4.7-4.el6.x86_64.rpm
- GB28181 代码Linux
- 设计模式在JDK的中的应用,PPT资源
- Tomcat WEB服务器实战
- linux文件完整性监控的实现
- 实现一个简单的shell命令行解释器,类
- 向Linux内核增加一个系统调用
- Linux操作系统管理课程设计
- Linux系统编程中文版.pdf
- Linux环境下OPC服务端&客户端
- Linux服务器性能调整
- Interprocess.Communications.in.Linux.The.Nooks
评论
共有 条评论