view release on metacpan or search on metacpan
unzip-6.0/macos/HISTORY.TXT view on Meta::CPAN
8. Beta release 20.November.1998
---------------------------------
1) CHG: {zip/unzip) switch to latest source level
zip 2.3h beta and unzip 5.4 final release
2) ADD: {zip} Zip finds "namelocked" files also, if switch "-S"
is set.
3) FIX: {unzip} Function isZipfile() fails if the zip archive
has a comment.
4) CHG: {zip} added some small speed improvements to pattern matching and
isZipFile() function.
5) FIX: {unzip} Display of comments is fixed.
UzpMessagePrnt() is replaced by MacMessagePrnt(). I do not care
unzip-6.0/macos/source/macstat.c view on Meta::CPAN
if ((fpb.hFileInfo.ioFlAttrib & 0x10) ||
(fpb.hFileInfo.ioFlFndrInfo.fdType == 'APPL')) {
/*
* Directories and applications are executable by everyone.
*/
buf->st_mode |= S_IXUSR | S_IXGRP | S_IXOTH;
}
if ((fpb.hFileInfo.ioFlAttrib & 0x01) == 0) {
/*
* If not locked, then everyone has write acces.
*/
buf->st_mode |= S_IWUSR | S_IWGRP | S_IWOTH;
}
buf->st_ino = fpb.hFileInfo.ioDirID;
buf->st_dev = fpb.hFileInfo.ioVRefNum;
buf->st_uid = -1;
buf->st_gid = -1;
buf->st_rdev = 0;
unzip-6.0/process.c view on Meta::CPAN
-----------------------------------------------------------------------*/
error = seek_zipf(__G__ G.ecrec.offset_start_central_directory);
if (error == PK_BADERR) {
CLOSE_INFILE();
return PK_BADERR;
}
#ifdef OLD_SEEK_TEST
if (error != PK_OK || readbuf(__G__ G.sig, 4) == 0) {
CLOSE_INFILE();
return PK_ERR; /* file may be locked, or possibly disk error(?) */
}
if (memcmp(G.sig, central_hdr_sig, 4))
#else
if ((error != PK_OK) || (readbuf(__G__ G.sig, 4) == 0) ||
memcmp(G.sig, central_hdr_sig, 4))
#endif
{
#ifndef SFX
zoff_t tmp = G.extra_bytes;
#endif
unzip-6.0/proginfo/extrafld.txt view on Meta::CPAN
ExecAddr Long exec address
Attr Long file permissions
Zero Long reserved; always zero
The following bits of Attr are associated with the given file
permissions:
bit 0 user-writable ('W')
bit 1 user-readable ('R')
bit 2 reserved
bit 3 locked ('L')
bit 4 publicly writable ('w')
bit 5 publicly readable ('r')
bit 6 reserved
bit 7 reserved
-VM/CMS Extra Field:
==================
The following is the layout of the file-attributes extra block for
unzip-6.0/proginfo/fileinfo.cms view on Meta::CPAN
fopen() and freopen() parameters
recfm
CMS supports only two RECFMs, V and F. [note that MVS supports
27(!) different RECFMs.] If you do not specify the RECFM for a
file, C/370 determines whether is is in fixed or variable format.
lrecl and blksize
For files in fixed format, CMS allows records to be read and
written in blocks. To have a fixed format CMS file treated as a
fixed blocked CMS file, you can open the file with recfm=fb and
specify the lrecl and blksize. If you do not specify a recfm on
the open, the blksize can be a multiple of the lrecl, and the
file is treated as if it were blocked.
For files in variable format, the CMS LRECL is different from the
LRECL for the record model. In the record model, the LRECL is
equal to the data length plus 4 bytes (for the record descriptor
word), and the BLKSIZE is equal to the LRECL plus 4 bytes (for
the block descriptor word). In CMS, BDWs and RDWs do not exist,
but because CMS follows the record model, you must still account
for them. When you specify V, you must still allocate the record
descriptor word and block descriptor word. That is, if you want
a maximum of n bytes per record, you must specify a minimum LRECL
unzip-6.0/vms/NOTES.TXT view on Meta::CPAN
VMSV5.5-2 is too old. V7.3 is new enough. Anyone with more precise
information is invited to contribute it.
Users who find other parameter sets more beneficial, or who find
particular problems with this set are welcome to comment.
In this version, as in previous versions, when UnZip expands a -V
archive, it allocates the entire extent of a data file before writing
any of its data. In some previous versions, this could cause the
destination disk to be locked for a considerable time (minutes), if
highwater marking was enabled on that disk. Now, the FAB SQO
("sequential access only") flag (or equivalent) is set, which prevents
this troublesome disk locking.
In some previous versions, when UnZip expanded a non-V archive, it
did no pre-allocation, and used the default extension quantity. This
could slow file creation significantly for large files. Now, space for
extracted files is pre-allocated, and the same SQO ("sequential access
only") flag is set, as with a -V archive.
unzip-6.0/vms/vmsdefs.h view on Meta::CPAN
unsigned fch$v_existence : 1; /* ISO 9660 Existence file */
unsigned fch$v_fill_6 : 2;
} fch$r_fill_1_chunks;
__struct {
unsigned fch$v_wascontig : 1;
unsigned fch$v_nobackup : 1 ;
unsigned fch$v_writeback : 1;
unsigned fch$v_readcheck : 1;
unsigned fch$v_writcheck : 1;
unsigned fch$v_contigb : 1;
unsigned fch$v_locked : 1;
unsigned fch$v_contig : 1;
unsigned fch$$_fill_3 : 3;
unsigned fch$v_badacl : 1;
unsigned fch$v_spool : 1;
unsigned fch$v_directory : 1;
unsigned fch$v_badblock : 1;
unsigned fch$v_markdel : 1;
unsigned fch$v_nocharge : 1;
unsigned fch$v_erase : 1;
unsigned fch$$_fill_4 : 1;
unzip-6.0/vms/vmsdefs.h view on Meta::CPAN
#if !(defined(__VAXC) || defined(VAXC)) || defined(__GNUC__)
#define fch$v_vcc_state fch$r_fch_union.fch$r_fill_1_chunks.fch$v_vcc_state
#define fch$v_associated fch$r_fch_union.fch$r_fill_1_chunks.fch$v_associated
#define fch$v_existence fch$r_fch_union.fch$r_fill_1_chunks.fch$v_existence
#define fch$v_wascontig fch$r_fch_union.fch$r_fill_1_bits.fch$v_wascontig
#define fch$v_nobackup fch$r_fch_union.fch$r_fill_1_bits.fch$v_nobackup
#define fch$v_writeback fch$r_fch_union.fch$r_fill_1_bits.fch$v_writeback
#define fch$v_readcheck fch$r_fch_union.fch$r_fill_1_bits.fch$v_readcheck
#define fch$v_writcheck fch$r_fch_union.fch$r_fill_1_bits.fch$v_writcheck
#define fch$v_contigb fch$r_fch_union.fch$r_fill_1_bits.fch$v_contigb
#define fch$v_locked fch$r_fch_union.fch$r_fill_1_bits.fch$v_locked
#define fch$v_contig fch$r_fch_union.fch$r_fill_1_bits.fch$v_contig
#define fch$v_badacl fch$r_fch_union.fch$r_fill_1_bits.fch$v_badacl
#define fch$v_spool fch$r_fch_union.fch$r_fill_1_bits.fch$v_spool
#define fch$v_directory fch$r_fch_union.fch$r_fill_1_bits.fch$v_directory
#define fch$v_badblock fch$r_fch_union.fch$r_fill_1_bits.fch$v_badblock
#define fch$v_markdel fch$r_fch_union.fch$r_fill_1_bits.fch$v_markdel
#define fch$v_nocharge fch$r_fch_union.fch$r_fill_1_bits.fch$v_nocharge
#define fch$v_erase fch$r_fch_union.fch$r_fill_1_bits.fch$v_erase
#define fch$v_shelved fch$r_fch_union.fch$r_fill_1_bits.fch$v_shelved
#define fch$v_scratch fch$r_fch_union.fch$r_fill_1_bits.fch$v_scratch
unzip-6.0/win32/nt.c view on Meta::CPAN
#ifdef NTSD_EAS /* This file is only needed for NTSD handling */
/* Borland C++ does not define FILE_SHARE_DELETE. Others also? */
#ifndef FILE_SHARE_DELETE
# define FILE_SHARE_DELETE 0x00000004
#endif
/* This macro definition is missing in old versions of MS' winbase.h. */
#ifndef InterlockedExchangePointer
# define InterlockedExchangePointer(Target, Value) \
(PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
#endif
/* private prototypes */
static BOOL Initialize(VOID);
static VOID GetRemotePrivilegesSet(CHAR *FileName, PDWORD dwRemotePrivileges);
static VOID InitLocalPrivileges(VOID);
unzip-6.0/win32/nt.c view on Meta::CPAN
static BOOL Initialize(VOID)
{
HANDLE hMutex;
HANDLE hOldMutex;
if (bInitialized) return TRUE;
hMutex = CreateMutex(NULL, TRUE, NULL);
if(hMutex == NULL) return FALSE;
hOldMutex = (HANDLE)InterlockedExchangePointer((void *)&hInitMutex,
hMutex);
if (hOldMutex != NULL) {
/* somebody setup the mutex already */
InterlockedExchangePointer((void *)&hInitMutex,
hOldMutex);
CloseHandle(hMutex); /* close new, un-needed mutex */
/* wait for initialization to complete and return status */
WaitForSingleObject(hOldMutex, INFINITE);
ReleaseMutex(hOldMutex);
return bInitialized;
}
unzip-6.0/win32/nt.c view on Meta::CPAN
/* initialize module level resources */
InitializeCriticalSection( &VolumeCapsLock );
memset(&g_VolumeCaps, 0, sizeof(VOLUMECAPS));
InitLocalPrivileges();
bInitialized = TRUE;
}
InterlockedExchangePointer((void *)&hInitMutex,
NULL);
ReleaseMutex(hMutex); /* release correct mutex */
CloseHandle(hMutex); /* free the no longer needed handle resource */
return TRUE;
}
unzip-6.0/win32/rsxntwin.h view on Meta::CPAN
#define DRIVE_RAMDISK 6
#ifndef SearchPath
#define SearchPath TFUNCT(SearchPath)
#endif
BOOL WINAPI SearchPath(LPCTSTR, LPCTSTR, LPCTSTR, UINT, LPTSTR, LPTSTR *);
#define ERROR_SUCCESS 0
#define ERROR_INSUFFICIENT_BUFFER 122
LONG WINAPI InterlockedExchange(LPLONG, LONG);
#define ACCESS_SYSTEM_SECURITY 0x01000000L
typedef PVOID PSECURITY_DESCRIPTOR;
typedef PVOID PSID;
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
unzip-6.0/wince/winmain.cpp view on Meta::CPAN
// Delete our FILE_TYPE_NODE linked list.
for (FILE_TYPE_NODE *pft = g_pftHead; pft; ) {
FILE_TYPE_NODE *pftNext = pft->pNext;
delete[] (BYTE*)pft;
pft = pftNext;
}
g_pftHead = NULL;
// If there are no other instances of our application open, then delete our
// temporary directory and all the files in it. Any files opened for viewing
// should be locked and will fail to delete. This is to be expected.
if (g_szTempDir && (FindWindow(g_szClass, NULL) == NULL)) {
TCHAR szPath[_MAX_PATH];
_tcscpy(szPath, g_szTempDir);
DeleteDirectory(szPath);
}
}
//******************************************************************************
void RegisterUnzip() {
unzip-6.0/wince/winmain.cpp view on Meta::CPAN
case PK_PARAM: // bad or illegal parameters specified
break; // Not used in the Windows CE port.
case PK_FIND: // no files found in ZIP file
return TEXT("The ZIP file contains errors that prevented the ")
TEXT("operation from completing successfully. A possible ")
TEXT("cause is that one or more of the files listed as being ")
TEXT("in the ZIP file could not actually be found within the ")
TEXT("ZIP file itself.");
case PK_DISK: // disk full or file locked
return TEXT("An error occurred while attempting to save a file. ")
TEXT("Possible causes are that your file storage is full or ")
TEXT("read only, or that a file with the same name already ")
TEXT("exists and is locked by another application.");
case PK_EOF: // unexpected end of file
return TEXT("The ZIP file contains errors that prevented the ")
TEXT("operation from completing successfully. A possible ")
TEXT("cause is that your ZIP file is incomplete and might be ")
TEXT("truncated.");
case IZ_UNSUP: // no files found: all unsup. compr/encrypt.
return TEXT("None of the files could be processed because they were ")
TEXT("all compressed using an unsupported compression or ")
unzip-6.0/wince/winmain.cpp view on Meta::CPAN
if (g_fViewing) {
// Build prompt.
TCHAR szMessage[_MAX_PATH + 128];
_stprintf(szMessage,
#ifdef UNICODE
TEXT("A file named \"%S\" has already been extracted for viewing. ")
#else
TEXT("A file named \"%s\" has already been extracted for viewing. ")
#endif
TEXT("That file might be opened and locked for viewing by another application.\n\n")
TEXT("Would you like to attempt to overwrite it with the new file?"),
GetFileFromPath(szPath));
// Display prompt.
if (IDYES == MessageBox(g_hDlgProgress, szMessage, g_szAppName,
MB_ICONWARNING | MB_YESNO))
{
// Tell Info-ZIP to continue with extraction.
return IDM_REPLACE_YES;
}