From 9a4ffaeda0f60406e326421c9c22650f89cf97a1 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 4 Jun 2004 10:27:35 +0000 Subject: minor fixes move unzip.h to include --- include/unzip.h | 286 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/unzip.h | 286 -------------------------------------------------------- lib/update.c | 6 +- src/main.c | 8 +- 4 files changed, 293 insertions(+), 293 deletions(-) create mode 100644 include/unzip.h delete mode 100644 lib/unzip.h diff --git a/include/unzip.h b/include/unzip.h new file mode 100644 index 0000000..1c1caf5 --- /dev/null +++ b/include/unzip.h @@ -0,0 +1,286 @@ +/* $Id$ */ +/* + * unzip.h -- IO for uncompress .zip files using zlib Version 0.15 beta, Mar + * 19th, 1998, + * + * Copyright (C) 1998 Gilles Vollant + * + * This unzip package allow extract file from .ZIP file, compatible with PKZip + * 2.04g WinZip, InfoZip tools and compatible. Encryption and multi volume + * ZipFile (span) are not supported. Old compressions used by old PKZip 1.x + * are not supported + * + * THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR + * STRUCTURE CAN CHANGE IN FUTURE VERSION !! I WAIT FEEDBACK at mail + * info@winimage.com Visit also http://www.winimage.com/zLibDll/unzip.htm for + * evolution + * + * Condition of use and distribution are the same than zlib : + * + * This software is provided 'as-is', without any express or implied warranty. + * In no event will the authors be held liable for any damages arising from + * the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not claim + * that you wrote the original software. If you use this software in a + * product, an acknowledgment in the product documentation would be + * appreciated but is not required. 2. Altered source versions must be + * plainly marked as such, and must not be misrepresented as being the + * original software. 3. This notice may not be removed or altered from any + * source distribution. + * + * + */ +/* + * for more info about .ZIP format, see + * ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip PkWare has also + * a specification at : ftp://ftp.pkware.com/probdesc.zip + */ + +#ifndef _unz_H +#define _unz_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include +#endif + +#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) + /* + * like the STRICT of WIN32, we define a pointer that cannot be + * converted from (void*) without cast + */ + typedef struct TagunzFile__ { + int unused; + } unzFile__; + typedef unzFile__ *unzFile; +#else + typedef voidp unzFile; +#endif + + +#define UNZ_OK (0) +#define UNZ_END_OF_LIST_OF_FILE (-100) +#define UNZ_ERRNO (Z_ERRNO) +#define UNZ_EOF (0) +#define UNZ_PARAMERROR (-102) +#define UNZ_BADZIPFILE (-103) +#define UNZ_INTERNALERROR (-104) +#define UNZ_CRCERROR (-105) + + /* tm_unz contain date/time info */ + typedef struct tm_unz_s { + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour;/* hours since midnight - [0,23] */ + uInt tm_mday;/* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year;/* years - [1980..2044] */ + } tm_unz; + + /* + * unz_global_info structure contain global data about the ZIPfile + * These data comes from the end of central dir + */ + typedef struct unz_global_info_s { + uLong number_entry; /* total number of entries in the + * central dir on this disk */ + uLong size_comment; /* size of the global comment of the + * zipfile */ + } unz_global_info; + + + /* unz_file_info contain information about a file in the zipfile */ + typedef struct unz_file_info_s { + uLong version;/* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 + * bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate;/* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + uLong compressed_size; /* compressed size 4 bytes */ + uLong uncompressed_size; /* uncompressed size 4 bytes */ + uLong size_filename; /* filename length 2 + * bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 + * bytes */ + + uLong disk_num_start; /* disk number start 2 + * bytes */ + uLong internal_fa; /* internal file attributes 2 + * bytes */ + uLong external_fa; /* external file attributes 4 + * bytes */ + + tm_unz tmu_date; + } unz_file_info; + + extern int ZEXPORT unzStringFileNameCompare OF((const char *fileName1, + const char *fileName2, + int iCaseSensitivity)); + /* + * Compare two filename (fileName1,fileName2). If iCaseSenisivity = + * 1, comparision is case sensitivity (like strcmp) If + * iCaseSenisivity = 2, comparision is not case sensitivity (like + * strcmpi or strcasecmp) If iCaseSenisivity = 0, case sensitivity is + * defaut of your operating system (like 1 on Unix, 2 on Windows) + */ + + + extern unzFile ZEXPORT unzOpen OF((const char *path)); + /* + * Open a Zip file. path contain the full pathname (by example, on a + * Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer + * "zlib/zlib111.zip". If the zipfile cannot be opened (file don't + * exist or in not valid), the return value is NULL. Else, the return + * value is a unzFile Handle, usable with other function of this + * unzip package. + */ + + extern int ZEXPORT unzClose OF((unzFile file)); + /* + * Close a ZipFile opened with unzipOpen. If there is files inside + * the .Zip opened with unzOpenCurrentFile (see later), these files + * MUST be closed with unzipCloseCurrentFile before call unzipClose. + * return UNZ_OK if there is no problem. + */ + + extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, + unz_global_info * pglobal_info)); + /* + * Write info about the ZipFile in the *pglobal_info structure. No + * preparation of the structure is needed return UNZ_OK if there is + * no problem. + */ + + extern int ZEXPORT unzGetGlobalComment OF((unzFile file, + char *szComment, + uLong uSizeBuf)); + /* + * Get the global comment string of the ZipFile, in the szComment + * buffer. uSizeBuf is the size of the szComment buffer. return the + * number of byte copied or an error code <0 + */ + + + /***************************************************************************/ + /* Unzip package allow you browse the directory of the zipfile */ + + extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); + /* + * Set the current file of the zipfile to the first file. return + * UNZ_OK if there is no problem + */ + + extern int ZEXPORT unzGoToNextFile OF((unzFile file)); + /* + * Set the current file of the zipfile to the next file. return + * UNZ_OK if there is no problem return UNZ_END_OF_LIST_OF_FILE if + * the actual file was the latest. + */ + + extern int ZEXPORT unzLocateFile OF((unzFile file, + const char *szFileName, + int iCaseSensitivity)); + /* + * Try locate the file szFileName in the zipfile. For the + * iCaseSensitivity signification, see unzStringFileNameCompare + * + * return value : UNZ_OK if the file is found. It becomes the current + * file. UNZ_END_OF_LIST_OF_FILE if the file is not found + */ + + + extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, + unz_file_info * pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); + /* + * Get Info about the current file if pfile_info!=NULL, the + * *pfile_info structure will contain somes info about the current + * file if szFileName!=NULL, the filemane string will be copied in + * szFileName (fileNameBufferSize is the size of the buffer) if + * extraField!=NULL, the extra field information will be copied in + * extraField (extraFieldBufferSize is the size of the buffer). This + * is the Central-header version of the extra field if + * szComment!=NULL, the comment string of the file will be copied in + * szComment (commentBufferSize is the size of the buffer) + */ + + /***************************************************************************/ + /* + * for reading the content of the current zipfile, you can open it, + * read data from it, and close it (you can close it before reading + * all the file) + */ + + extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); + /* + * Open for reading data the current file in the zipfile. If there is + * no error, the return value is UNZ_OK. + */ + + extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); + /* + * Close the file in zip opened with unzOpenCurrentFile Return + * UNZ_CRCERROR if all the file was read but the CRC is not good + */ + + + extern int ZEXPORT unzReadCurrentFile OF((unzFile file, + voidp buf, + unsigned len)); + /* + * Read bytes from the current file (opened by unzOpenCurrentFile) + * buf contain buffer where data must be copied len the size of buf. + * + * return the number of byte copied if somes bytes are copied return 0 + * if the end of file was reached return <0 with error code if there + * is an error (UNZ_ERRNO for IO error, or zLib error for uncompress + * error) + */ + + extern z_off_t ZEXPORT unztell OF((unzFile file)); + /* + * Give the current position in uncompressed data + */ + + extern int ZEXPORT unzeof OF((unzFile file)); + /* + * return 1 if the end of file was reached, 0 elsewhere + */ + + extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, + voidp buf, + unsigned len)); + /* + * Read extra field from the current file (opened by + * unzOpenCurrentFile) This is the local-header version of the extra + * field (sometimes, there is more info in the local-header version + * than in the central-header) + * + * if buf==NULL, it return the size of the local extra field + * + * if buf!=NULL, len is the size of the buffer, the extra header is + * copied in buf. the return value is the number of bytes copied in + * buf, or (if <0) the error code + */ + +#ifdef __cplusplus +} +#endif + +#endif /* _unz_H */ diff --git a/lib/unzip.h b/lib/unzip.h deleted file mode 100644 index 1c1caf5..0000000 --- a/lib/unzip.h +++ /dev/null @@ -1,286 +0,0 @@ -/* $Id$ */ -/* - * unzip.h -- IO for uncompress .zip files using zlib Version 0.15 beta, Mar - * 19th, 1998, - * - * Copyright (C) 1998 Gilles Vollant - * - * This unzip package allow extract file from .ZIP file, compatible with PKZip - * 2.04g WinZip, InfoZip tools and compatible. Encryption and multi volume - * ZipFile (span) are not supported. Old compressions used by old PKZip 1.x - * are not supported - * - * THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR - * STRUCTURE CAN CHANGE IN FUTURE VERSION !! I WAIT FEEDBACK at mail - * info@winimage.com Visit also http://www.winimage.com/zLibDll/unzip.htm for - * evolution - * - * Condition of use and distribution are the same than zlib : - * - * This software is provided 'as-is', without any express or implied warranty. - * In no event will the authors be held liable for any damages arising from - * the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not claim - * that you wrote the original software. If you use this software in a - * product, an acknowledgment in the product documentation would be - * appreciated but is not required. 2. Altered source versions must be - * plainly marked as such, and must not be misrepresented as being the - * original software. 3. This notice may not be removed or altered from any - * source distribution. - * - * - */ -/* - * for more info about .ZIP format, see - * ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip PkWare has also - * a specification at : ftp://ftp.pkware.com/probdesc.zip - */ - -#ifndef _unz_H -#define _unz_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include -#endif - -#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) - /* - * like the STRICT of WIN32, we define a pointer that cannot be - * converted from (void*) without cast - */ - typedef struct TagunzFile__ { - int unused; - } unzFile__; - typedef unzFile__ *unzFile; -#else - typedef voidp unzFile; -#endif - - -#define UNZ_OK (0) -#define UNZ_END_OF_LIST_OF_FILE (-100) -#define UNZ_ERRNO (Z_ERRNO) -#define UNZ_EOF (0) -#define UNZ_PARAMERROR (-102) -#define UNZ_BADZIPFILE (-103) -#define UNZ_INTERNALERROR (-104) -#define UNZ_CRCERROR (-105) - - /* tm_unz contain date/time info */ - typedef struct tm_unz_s { - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour;/* hours since midnight - [0,23] */ - uInt tm_mday;/* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year;/* years - [1980..2044] */ - } tm_unz; - - /* - * unz_global_info structure contain global data about the ZIPfile - * These data comes from the end of central dir - */ - typedef struct unz_global_info_s { - uLong number_entry; /* total number of entries in the - * central dir on this disk */ - uLong size_comment; /* size of the global comment of the - * zipfile */ - } unz_global_info; - - - /* unz_file_info contain information about a file in the zipfile */ - typedef struct unz_file_info_s { - uLong version;/* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 - * bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate;/* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - uLong compressed_size; /* compressed size 4 bytes */ - uLong uncompressed_size; /* uncompressed size 4 bytes */ - uLong size_filename; /* filename length 2 - * bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 - * bytes */ - - uLong disk_num_start; /* disk number start 2 - * bytes */ - uLong internal_fa; /* internal file attributes 2 - * bytes */ - uLong external_fa; /* external file attributes 4 - * bytes */ - - tm_unz tmu_date; - } unz_file_info; - - extern int ZEXPORT unzStringFileNameCompare OF((const char *fileName1, - const char *fileName2, - int iCaseSensitivity)); - /* - * Compare two filename (fileName1,fileName2). If iCaseSenisivity = - * 1, comparision is case sensitivity (like strcmp) If - * iCaseSenisivity = 2, comparision is not case sensitivity (like - * strcmpi or strcasecmp) If iCaseSenisivity = 0, case sensitivity is - * defaut of your operating system (like 1 on Unix, 2 on Windows) - */ - - - extern unzFile ZEXPORT unzOpen OF((const char *path)); - /* - * Open a Zip file. path contain the full pathname (by example, on a - * Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer - * "zlib/zlib111.zip". If the zipfile cannot be opened (file don't - * exist or in not valid), the return value is NULL. Else, the return - * value is a unzFile Handle, usable with other function of this - * unzip package. - */ - - extern int ZEXPORT unzClose OF((unzFile file)); - /* - * Close a ZipFile opened with unzipOpen. If there is files inside - * the .Zip opened with unzOpenCurrentFile (see later), these files - * MUST be closed with unzipCloseCurrentFile before call unzipClose. - * return UNZ_OK if there is no problem. - */ - - extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, - unz_global_info * pglobal_info)); - /* - * Write info about the ZipFile in the *pglobal_info structure. No - * preparation of the structure is needed return UNZ_OK if there is - * no problem. - */ - - extern int ZEXPORT unzGetGlobalComment OF((unzFile file, - char *szComment, - uLong uSizeBuf)); - /* - * Get the global comment string of the ZipFile, in the szComment - * buffer. uSizeBuf is the size of the szComment buffer. return the - * number of byte copied or an error code <0 - */ - - - /***************************************************************************/ - /* Unzip package allow you browse the directory of the zipfile */ - - extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); - /* - * Set the current file of the zipfile to the first file. return - * UNZ_OK if there is no problem - */ - - extern int ZEXPORT unzGoToNextFile OF((unzFile file)); - /* - * Set the current file of the zipfile to the next file. return - * UNZ_OK if there is no problem return UNZ_END_OF_LIST_OF_FILE if - * the actual file was the latest. - */ - - extern int ZEXPORT unzLocateFile OF((unzFile file, - const char *szFileName, - int iCaseSensitivity)); - /* - * Try locate the file szFileName in the zipfile. For the - * iCaseSensitivity signification, see unzStringFileNameCompare - * - * return value : UNZ_OK if the file is found. It becomes the current - * file. UNZ_END_OF_LIST_OF_FILE if the file is not found - */ - - - extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, - unz_file_info * pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); - /* - * Get Info about the current file if pfile_info!=NULL, the - * *pfile_info structure will contain somes info about the current - * file if szFileName!=NULL, the filemane string will be copied in - * szFileName (fileNameBufferSize is the size of the buffer) if - * extraField!=NULL, the extra field information will be copied in - * extraField (extraFieldBufferSize is the size of the buffer). This - * is the Central-header version of the extra field if - * szComment!=NULL, the comment string of the file will be copied in - * szComment (commentBufferSize is the size of the buffer) - */ - - /***************************************************************************/ - /* - * for reading the content of the current zipfile, you can open it, - * read data from it, and close it (you can close it before reading - * all the file) - */ - - extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); - /* - * Open for reading data the current file in the zipfile. If there is - * no error, the return value is UNZ_OK. - */ - - extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); - /* - * Close the file in zip opened with unzOpenCurrentFile Return - * UNZ_CRCERROR if all the file was read but the CRC is not good - */ - - - extern int ZEXPORT unzReadCurrentFile OF((unzFile file, - voidp buf, - unsigned len)); - /* - * Read bytes from the current file (opened by unzOpenCurrentFile) - * buf contain buffer where data must be copied len the size of buf. - * - * return the number of byte copied if somes bytes are copied return 0 - * if the end of file was reached return <0 with error code if there - * is an error (UNZ_ERRNO for IO error, or zLib error for uncompress - * error) - */ - - extern z_off_t ZEXPORT unztell OF((unzFile file)); - /* - * Give the current position in uncompressed data - */ - - extern int ZEXPORT unzeof OF((unzFile file)); - /* - * return 1 if the end of file was reached, 0 elsewhere - */ - - extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, - voidp buf, - unsigned len)); - /* - * Read extra field from the current file (opened by - * unzOpenCurrentFile) This is the local-header version of the extra - * field (sometimes, there is more info in the local-header version - * than in the central-header) - * - * if buf==NULL, it return the size of the local extra field - * - * if buf!=NULL, len is the size of the buffer, the extra header is - * copied in buf. the return value is the number of bytes copied in - * buf, or (if <0) the error code - */ - -#ifdef __cplusplus -} -#endif - -#endif /* _unz_H */ diff --git a/lib/update.c b/lib/update.c index 6dd14d2..7761e77 100644 --- a/lib/update.c +++ b/lib/update.c @@ -59,7 +59,7 @@ tgeb_update(struct tm * tm) if (!(he = gethostbyname(TGebURL))) err(1, "gethostbyname"); - if ((sockfd = socket(AF_INET, SOCK_STREAM, NULL)) == -1) + if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) err(1, "socket"); memset(&sin, '\0', sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; @@ -73,7 +73,7 @@ tgeb_update(struct tm * tm) if (!(get = calloc(strlen(TGebGET), sizeof(char)))) err(1, "malloc"); sprintf(get, TGebGET, tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday); - if ((send(sockfd, get, strlen(get), NULL)) == -1) + if ((send(sockfd, get, strlen(get), 0)) == -1) err(1, "send"); free(get); @@ -82,7 +82,7 @@ tgeb_update(struct tm * tm) for (;;) { int block; - if ((block = recv(sockfd, &buf[offset], BUF_SIZ, NULL)) == -1) + if ((block = recv(sockfd, &buf[offset], BUF_SIZ, 0)) == -1) err(1, "recv"); if (block == 0) break; diff --git a/src/main.c b/src/main.c index f140f0c..ffa6274 100644 --- a/src/main.c +++ b/src/main.c @@ -56,12 +56,12 @@ main(int argc, char **argv) char *home; home = calloc(_POSIX_PATH_MAX, sizeof(char)); - pw = getpwnam(getlogin()); + pw = getpwuid(getuid()); snprintf(home, _POSIX_PATH_MAX, "%s/.tgeb", pw->pw_dir); - if (chdir(home) < NULL) { - if (mkdir(home, 0755) < NULL) + if (chdir(home) == -1) { + if (mkdir(home, 0755) == -1) err(1, "%s", home); - if (chdir(home) < NULL) + if (chdir(home) == -1) err(1, "%s", home); tgeb_update(tm); } -- cgit v1.2.3