summaryrefslogtreecommitdiff
path: root/wiretap/ascend.y
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2010-02-25 20:45:59 +0000
committerGuy Harris <guy@alum.mit.edu>2010-02-25 20:45:59 +0000
commit207a75388a534a38e23d4f5c1068037cd5f26b91 (patch)
tree1d07967fc0421f7a790f46063312ff62dcb42b59 /wiretap/ascend.y
parentdef01f5c66c04817289e006fc8fee9046e09a954 (diff)
downloadwireshark-207a75388a534a38e23d4f5c1068037cd5f26b91.tar.gz
Have parse_ascend() return:
PARSED_RECORD if we got a packet; PARSED_NONRECORD if the parser succeeded but didn't see a packet; PARSE_FAILED if the parser failed. Treat anything other than PARSED_RECORD as a failure, for now; I'm not sure why we were treating "parser succeeded but didn't see a packet" as success, as that was causing us to recognize some non-Ascend-output text files as Ascend files and to return "records" with bogus caplen and len values. svn path=/trunk/; revision=32009
Diffstat (limited to 'wiretap/ascend.y')
-rw-r--r--wiretap/ascend.y15
1 files changed, 9 insertions, 6 deletions
diff --git a/wiretap/ascend.y b/wiretap/ascend.y
index 6b23c504db..089eccab8d 100644
--- a/wiretap/ascend.y
+++ b/wiretap/ascend.y
@@ -442,9 +442,12 @@ init_parse_ascend()
start_time = 0; /* we haven't see a date/time yet */
}
-/* Parse the capture file. Return the offset of the next packet, or zero
- if there is none. */
-int
+/* Parse the capture file.
+ Returns:
+ PARSED_RECORD if we got a packet
+ PARSED_NONRECORD if the parser succeeded but didn't see a packet
+ PARSE_FAILED if the parser failed. */
+parse_t
parse_ascend(FILE_T fh, guint8 *pd, struct ascend_phdr *phdr,
ascend_pkthdr *hdr, gint64 *start_of_data)
{
@@ -507,14 +510,14 @@ parse_ascend(FILE_T fh, guint8 *pd, struct ascend_phdr *phdr,
header->len = wirelen;
}
- return 1;
+ return PARSED_RECORD;
}
/* Didn't see any data. Still, perhaps the parser was happy. */
if (retval)
- return 0;
+ return PARSE_FAILED;
else
- return 1;
+ return PARSED_NONRECORD;
}
void