ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Convert-UUlib/uulib/uulib.c
(Generate patch)

Comparing Convert-UUlib/uulib/uulib.c (file contents):
Revision 1.4.2.3 by root, Sun Oct 13 13:03:08 2002 UTC vs.
Revision 1.4.2.4 by root, Thu Nov 6 13:08:24 2003 UTC

79#include <uudeview.h> 79#include <uudeview.h>
80#include <uuint.h> 80#include <uuint.h>
81#include <fptools.h> 81#include <fptools.h>
82#include <uustring.h> 82#include <uustring.h>
83 83
84char * uulib_id = "$Id: uulib.c,v 1.4.2.3 2002/10/13 13:03:08 root Exp $"; 84char * uulib_id = "$Id: uulib.c,v 1.4.2.4 2003/11/06 13:08:24 root Exp $";
85 85
86#ifdef SYSTEM_WINDLL 86#ifdef SYSTEM_WINDLL
87BOOL _export WINAPI 87BOOL _export WINAPI
88DllEntryPoint (HINSTANCE hInstance, DWORD seginfo, 88DllEntryPoint (HINSTANCE hInstance, DWORD seginfo,
89 LPVOID lpCmdLine) 89 LPVOID lpCmdLine)
240 { &uunconc_B64xlat, 256 * sizeof (int) }, 240 { &uunconc_B64xlat, 256 * sizeof (int) },
241 { &uunconc_XXxlat, 256 * sizeof (int) }, 241 { &uunconc_XXxlat, 256 * sizeof (int) },
242 { &uunconc_BHxlat, 256 * sizeof (int) }, 242 { &uunconc_BHxlat, 256 * sizeof (int) },
243 { &uunconc_save, 3*300 }, /* from uunconc.c:decoding buffer */ 243 { &uunconc_save, 3*300 }, /* from uunconc.c:decoding buffer */
244 { &uuscan_shlline, 1024 }, /* from uuscan.c:ScanHeaderLine() */ 244 { &uuscan_shlline, 1024 }, /* from uuscan.c:ScanHeaderLine() */
245 { &uuscan_shlline2, 1024 }, /* from uuscan.c:ScanHeaderLine() */
245 { &uuscan_pvvalue, 300 }, /* from uuscan.c:ParseValue() */ 246 { &uuscan_pvvalue, 300 }, /* from uuscan.c:ParseValue() */
246 { &uuscan_phtext, 300 }, /* from uuscan.c:ParseHeader() */ 247 { &uuscan_phtext, 300 }, /* from uuscan.c:ParseHeader() */
247 { &uuscan_sdline, 300 }, /* from uuscan.c:ScanData() */ 248 { &uuscan_sdline, 300 }, /* from uuscan.c:ScanData() */
248 { &uuscan_sdbhds1, 300 }, 249 { &uuscan_sdbhds1, 300 },
249 { &uuscan_sdbhds2, 300 }, 250 { &uuscan_sdbhds2, 300 },
652 * add the parts to UUGlobalFileList 653 * add the parts to UUGlobalFileList
653 */ 654 */
654 655
655int UUEXPORT 656int UUEXPORT
656UULoadFile (char *filename, char *fileid, int delflag) 657UULoadFile (char *filename, char *fileid, int delflag)
658{
659 return UULoadFileWithPartNo(filename, fileid, delflag, -1);
660}
661
662int UUEXPORT
663UULoadFileWithPartNo (char *filename, char *fileid, int delflag, int partno)
657{ 664{
658 int res, sr, count=0; 665 int res, sr, count=0;
659 struct stat finfo; 666 struct stat finfo;
660 fileread *loaded; 667 fileread *loaded;
661 uufile *fload; 668 uufile *fload;
746 progress.action = 0; 753 progress.action = 0;
747 fclose (datei); 754 fclose (datei);
748 return UURET_IOERR; 755 return UURET_IOERR;
749 } 756 }
750 757
758 if (partno != -1)
759 loaded->partno = partno;
760
751 if ((loaded->uudet == QP_ENCODED || loaded->uudet == PT_ENCODED) && 761 if ((loaded->uudet == QP_ENCODED || loaded->uudet == PT_ENCODED) &&
752 (loaded->filename == NULL || *(loaded->filename) == '\0') && 762 (loaded->filename == NULL || *(loaded->filename) == '\0') &&
753 !uu_handletext && (loaded->flags&FL_PARTIAL)==0) { 763 !uu_handletext && (loaded->flags&FL_PARTIAL)==0) {
754 /* 764 /*
755 * Don't want text 765 * Don't want text
827 break; 837 break;
828 838
829 if (loaded->uudet) 839 if (loaded->uudet)
830 count++; 840 count++;
831 } 841 }
842 if (ferror (datei)) {
843 UUMessage (uulib_id, __LINE__, UUMSG_ERROR,
844 uustring (S_READ_ERROR), filename,
845 strerror (uu_errno = errno));
846 UUCheckGlobalList ();
847 progress.action = 0;
848 fclose (datei);
849 return UURET_IOERR;
850 }
832 fclose (datei); 851 fclose (datei);
833 852
834 if (!uu_fast_scanning && count==0) { 853 if (!uu_fast_scanning && count==0) {
835 UUMessage (uulib_id, __LINE__, UUMSG_NOTE, 854 UUMessage (uulib_id, __LINE__, UUMSG_NOTE,
836 uustring (S_NO_DATA_FOUND), filename); 855 uustring (S_NO_DATA_FOUND), filename);
1002 unlink (uugen_fnbuffer); 1021 unlink (uugen_fnbuffer);
1003 return UURET_IOERR; 1022 return UURET_IOERR;
1004 } 1023 }
1005 } 1024 }
1006 1025
1007 fclose (target);
1008 fclose (source); 1026 fclose (source);
1027 if (fclose (target)) {
1028 UUMessage (uulib_id, __LINE__, UUMSG_ERROR,
1029 uustring (S_WR_ERR_TARGET),
1030 uugen_fnbuffer, strerror (uu_errno = errno));
1031 unlink (uugen_fnbuffer);
1032 return UURET_IOERR;
1033 }
1009 1034
1010 /* 1035 /*
1011 * after a successful decoding run, we delete the temporary file 1036 * after a successful decoding run, we delete the temporary file
1012 */ 1037 */
1013 1038

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines