See changelog 2000-08-01 21:20 GMT -3

This commit is contained in:
Luiz Rafael Culik
2000-08-02 00:29:34 +00:00
parent d81b00b524
commit 2d5b72422b
4 changed files with 43 additions and 13 deletions

View File

@@ -39,11 +39,12 @@ HB_FUNC(HB_ZIPFILE)
if( ISCHAR(1) && ISCHAR(2)) {
int iCompLevel;
BOOL iOverWrite;
BOOL lExist;
char szFile[_POSIX_PATH_MAX];
strcpy(szFile,hb_parc(1));
lExist =hb_fsFile(hb___CheckFile(szFile));
if( ISNUM(3)) {
iCompLevel=hb_parni(3);
}
else {
iCompLevel= (-1);
@@ -54,8 +55,18 @@ HB_FUNC(HB_ZIPFILE)
}
else {
iOverWrite= 1;
}
if (lExist){
PHB_ITEM pArray=hb___GetFilesNamesFromZip(hb___CheckFile(szFile),0);
PHB_ITEM pItem = hb_itemPutC(NULL,hb_parc(2));
hb_arrayAdd(pArray,pItem);
hb_itemRelease(pItem);
hb_retl(hb___CompressMultipleFile(hb___CheckFile(szFile),pArray,iCompLevel,hb_param( 4,HB_IT_BLOCK),iOverWrite));
hb_itemRelease(pArray);
}
else {
hb_retl(hb___CompressOneFile(hb___CheckFile(szFile),hb_parc(2),iCompLevel,hb_param( 4, HB_IT_BLOCK) ,iOverWrite));
}
}

View File

@@ -425,8 +425,8 @@ int hb___GetNumbersofFilestoUnzip(char *szFile)
PHB_ITEM hb___GetFilesNamesFromZip(char *szFile,BOOL iMode)
{
const char *szZipFileName=NULL;
char szFilename_Try[512];
char szFileNameinZip[256];
char szFilename_Try[_POSIX_PATH_MAX];
char szFileNameinZip[_POSIX_PATH_MAX];
int iNumbersOfFiles;
PHB_ITEM pItem=NULL;
@@ -473,6 +473,7 @@ PHB_ITEM hb___GetFilesNamesFromZip(char *szFile,BOOL iMode)
char szTime[8];
char *szMethod;
char szCRC[8];
int iRatio=0;
int iLen;
int iCount=0;
int iiCount=0;
@@ -480,6 +481,7 @@ PHB_ITEM hb___GetFilesNamesFromZip(char *szFile,BOOL iMode)
pItem=hb_itemPutC(NULL,szFileNameinZip);
hb_itemArrayPut(pTempArray,filePos,pItem);
hb_itemRelease(pItem);
if (file_info.uncompressed_size>0) {
pItem=hb_itemPutNL(NULL,file_info.uncompressed_size);
@@ -488,15 +490,30 @@ PHB_ITEM hb___GetFilesNamesFromZip(char *szFile,BOOL iMode)
pItem=hb_itemPutNL(NULL,file_info.compressed_size);
hb_itemArrayPut(pTempArray,Size,pItem);
hb_itemRelease(pItem);
pItem=hb_itemPutNL(NULL,100-((file_info.compressed_size*100)/file_info.uncompressed_size));
iRatio=100-((file_info.compressed_size*100)/file_info.uncompressed_size);
if (iRatio <0){
iRatio=0;
}
pItem=hb_itemPutNL(NULL,iRatio);
hb_itemArrayPut(pTempArray,Ratio,pItem);
hb_itemRelease(pItem);
}
}
else {
pItem=hb_itemPutNL(NULL,file_info.uncompressed_size);
hb_itemArrayPut(pTempArray,Lenght,pItem);
hb_itemRelease(pItem);
pItem=hb_itemPutNL(NULL,file_info.compressed_size);
hb_itemArrayPut(pTempArray,Size,pItem);
hb_itemRelease(pItem);
iRatio=0;
pItem=hb_itemPutNL(NULL,iRatio);
hb_itemArrayPut(pTempArray,Ratio,pItem);
hb_itemRelease(pItem);
}
if (file_info.compression_method==0) {
szMethod="Stored";
}
if (file_info.compression_method==Z_DEFLATED) {
uInt iLevel=(uInt)((file_info.flag & 0x6)/2);
if (iLevel==0) {

View File

@@ -161,7 +161,7 @@ int hb___CompressOneFile(char *szFile,char *szFiletoCompress,int iCompLevel,PHB_
if (iZipOk==1)
{
szZipFile = zipOpen(szNewFile,0);
szZipFile = zipOpen(szNewFile,1);
if (szZipFile == NULL) {
err= ZIP_ERRNO;
}
@@ -197,7 +197,7 @@ int hb___CompressOneFile(char *szFile,char *szFiletoCompress,int iCompLevel,PHB_
err=ZIP_ERRNO;
}
hb_fsSetDevRaw(nFileHandle);
}
if (err == ZIP_OK)

View File

@@ -700,7 +700,7 @@ FUNCTION ProcNgiInput()
nPos := AT( "()", cName )
IF nPos > 0
AADD( aFuncs, cName )
IF LEFT( cname, 1 ) < "N"
IF LEFT( cname, 1 ) < "N" .and. LEFT( cname, 1 ) < "n"
AADD( afuncsam, aFiles[ x, 1 ] )
ELSE
AADD( afuncsn_, aFiles[ x, 1 ] )
@@ -817,8 +817,10 @@ FUNCTION ProcNgiInput()
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "OVERVIEW" ;
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "COMPILEROPTIONS" ;
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "GNULICENSE" ;
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "GNULICENSEPART2"
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "GNULICENSEPART2";
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "STRONGTYPING";
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "THEGARBAGECOLLECTOR" ;
.AND. UPPER( LEFT( cFile, AT( '.', cFile ) - 1 ) ) <> "THEIDLESTATES"
@ INFILELINE, 33 SAY PAD( cfile, 47 )
FT_FUSE( "ngi\" + acfiles[ x ] )
@@ -886,7 +888,7 @@ FUNCTION procngialso2( cSeealso )
cTemp := SUBSTR( xAlso[ hPos ], 2, 1 )
IF cTemp >= "A" .AND. cTemp < "_"
IF cTemp >= "A" .AND. cTemp < "_" .or. cTemp >= "a" .and. cTemp <= "z"
nPos := AT( "()", xAlso[ hPos ] )
IF nPos > 0
AADD( aAlso, "funcam.ngo:" + ALLTRIM( xAlso[ hPos ] ) + ' ' )