#include "system.h"
#include <rpmio_internal.h>
#include <rpmlib.h>
#include "tar.h"
#include "fsm.h"
#include "ugid.h"
#include "rpmerr.h"
#include "debug.h"
Include dependency graph for tar.c:
Go to the source code of this file.
Functions | |
static int | strntoul (const char *str, char **endptr, int base, int num) |
Convert string to unsigned integer (with buffer size check). | |
static int | tarHeaderReadName (FSM_t fsm, int len, const char **fnp) |
Read long file/link name from tar archive. | |
int | tarHeaderRead (FSM_t fsm, struct stat *st) |
Read tar header from payload. | |
static int | tarHeaderWriteName (FSM_t fsm, const char *path) |
Write long file/link name into tar archive. | |
static int | tarHeaderWriteBlock (FSM_t fsm, struct stat *st, tarHeader hdr) |
Write tar header block with checksum into tar archive. | |
int | tarHeaderWrite (FSM_t fsm, struct stat *st) |
Write tar header to payload. | |
int | tarTrailerWrite (FSM_t fsm) |
Write cpio trailer to payload. | |
Variables | |
int | _tar_debug = 0 |
static int | nochksum = 0 |
Definition in file tar.c.
|
Convert string to unsigned integer (with buffer size check).
Definition at line 34 of file tar.c. References alloca(), and StringBufRec::buf. |
|
Read tar header from payload.
Definition at line 95 of file tar.c. References _tar_debug, tarHeader_s::checksum, CPIOERR_BAD_HEADER, CPIOERR_BAD_MAGIC, CPIOERR_HDR_TRAILER, CPIOERR_READ_FAILED, tarHeader_s::devMajor, tarHeader_s::devMinor, tarHeader_s::filesize, FSM_DREAD, fsmNext(), tarHeader_s::gid, tarHeader_s::linkname, fsm_s::lpath, tarHeader_s::magic, major, makedev, minor, tarHeader_s::mode, tarHeader_s::mtime, tarHeader_s::name, nochksum, fsm_s::path, fsm_s::rdnb, strntoul(), TAR_BLOCK_SIZE, TAR_MAGIC, tarHeaderReadName(), tarHeader_s::typeflag, tarHeader_s::uid, fsm_s::wrbuf, fsm_s::wrlen, and xmalloc(). Referenced by fsmSetup(). |
|
Read long file/link name from tar archive.
Definition at line 65 of file tar.c. References _free(), CPIOERR_READ_FAILED, FSM_DREAD, fsmNext(), fsm_s::rdnb, TAR_BLOCK_SIZE, fsm_s::wrbuf, fsm_s::wrlen, and xmalloc(). Referenced by tarHeaderRead(). |
|
Write tar header to payload.
Definition at line 349 of file tar.c. References _tar_debug, FSM_PAD, fsmNext(), gidToGname(), fsm_s::lpath, major, minor, tarHeader_s::name, fsm_s::path, fsm_s::rdbuf, S_ISLNK, S_ISSOCK, tarHeaderWriteBlock(), tarHeaderWriteName(), and uidToUname(). Referenced by fsmSetup(), and writeLinkedFile(). |
|
Write tar header block with checksum into tar archive.
Definition at line 310 of file tar.c. References _tar_debug, tarHeader_s::checksum, CPIOERR_WRITE_FAILED, FSM_DWRITE, fsmNext(), tarHeader_s::magic, fsm_s::path, fsm_s::rdnb, stpcpy(), TAR_BLOCK_SIZE, TAR_MAGIC, TAR_VERSION, tarHeader_s::typeflag, and fsm_s::wrnb. Referenced by tarHeaderWrite(). |
|
Write long file/link name into tar archive.
Definition at line 271 of file tar.c. References _tar_debug, CPIOERR_WRITE_FAILED, FSM_DWRITE, FSM_PAD, fsmNext(), fsm_s::rdbuf, fsm_s::rdnb, TAR_BLOCK_SIZE, and fsm_s::wrnb. Referenced by tarHeaderWrite(). |
|
Write cpio trailer to payload.
Definition at line 455 of file tar.c. References _tar_debug, fsm_s::blksize, FSM_PAD, and fsmNext(). Referenced by fsmSetup(). |
|
|
|
Definition at line 24 of file tar.c. Referenced by tarHeaderRead(). |