[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r2148 - Extractor/src/main
From: |
grothoff |
Subject: |
[GNUnet-SVN] r2148 - Extractor/src/main |
Date: |
Mon, 26 Sep 2005 07:21:58 -0700 (PDT) |
Author: grothoff
Date: 2005-09-26 07:21:56 -0700 (Mon, 26 Sep 2005)
New Revision: 2148
Modified:
Extractor/src/main/extract.c
Extractor/src/main/extractor.c
Log:
better error handling
Modified: Extractor/src/main/extract.c
===================================================================
--- Extractor/src/main/extract.c 2005-09-26 13:55:03 UTC (rev 2147)
+++ Extractor/src/main/extract.c 2005-09-26 14:21:56 UTC (rev 2148)
@@ -600,11 +600,17 @@
_("%% BiBTeX file\n"));
for (i = optind; i < argc; i++)
{
- if (0 != ACCESS(argv[i], R_OK)) {
+ errno = 0;
+ keywords = EXTRACTOR_getKeywords (extractors, argv[i]);
+ if (0 != errno) {
+ if (verbose == YES) {
+ fprintf(stderr,
+ "%s: %s: %s\n",
+ argv[0], argv[i], strerror(errno));
+ }
ret = 1;
continue;
}
- keywords = EXTRACTOR_getKeywords (extractors, argv[i]);
if (duplicates != -1 || bibtex == YES)
keywords = EXTRACTOR_removeDuplicateKeywords (keywords, duplicates);
if (verbose == YES && bibtex == NO)
Modified: Extractor/src/main/extractor.c
===================================================================
--- Extractor/src/main/extractor.c 2005-09-26 13:55:03 UTC (rev 2147)
+++ Extractor/src/main/extractor.c 2005-09-26 14:21:56 UTC (rev 2148)
@@ -883,6 +883,7 @@
void * buffer;
struct stat fstatbuf;
size_t size;
+ int eno;
#ifdef O_LARGEFILE
file = fileopen(filename, O_RDONLY | O_LARGEFILE);
@@ -904,17 +905,18 @@
if (size > MAX_READ)
size = MAX_READ; /* do not mmap/read more than 1 GB! */
buffer = MMAP(NULL, size, PROT_READ, MAP_PRIVATE, file, 0);
- close(file);
- if ( (buffer == NULL) || (buffer == (void *) -1) )
+ if ( (buffer == NULL) || (buffer == (void *) -1) ) {
+ eno = errno;
+ close(file);
+ errno = eno;
return NULL;
+ }
result = getKeywords(extractor,
filename,
buffer,
size);
- if (size > 0)
- MUNMAP (buffer, size);
- else
- free(buffer);
+ MUNMAP (buffer, size);
+ close(file);
return result;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r2148 - Extractor/src/main,
grothoff <=