annotate error.c @ 992:a13125b5be3a libavutil

bswap: change ME to NE in macro names Other parts of FFmpeg use NE (native endian) rather than ME (machine). This makes it consistent.
author mru
date Sat, 10 Jul 2010 22:09:01 +0000
parents 2860cc0b5562
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
892
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
1 /*
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
2 * This file is part of FFmpeg.
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
3 *
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
4 * FFmpeg is free software; you can redistribute it and/or
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
5 * modify it under the terms of the GNU Lesser General Public
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
7 * version 2.1 of the License, or (at your option) any later version.
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
8 *
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
9 * FFmpeg is distributed in the hope that it will be useful,
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
12 * Lesser General Public License for more details.
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
13 *
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
14 * You should have received a copy of the GNU Lesser General Public
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
15 * License along with FFmpeg; if not, write to the Free Software
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
17 */
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
18
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
19 #include "avutil.h"
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
20 #include "avstring.h"
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
21
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
22 int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
23 {
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
24 int ret = 0;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
25 const char *errstr = NULL;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
26
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
27 switch (errnum) {
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
28 case AVERROR_EOF: errstr = "End of file"; break;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
29 case AVERROR_INVALIDDATA: errstr = "Invalid data found when processing input"; break;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
30 case AVERROR_NUMEXPECTED: errstr = "Number syntax expected in filename"; break;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
31 case AVERROR_PATCHWELCOME: errstr = "Not yet implemented in FFmpeg, patches welcome"; break;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
32 }
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
33
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
34 if (errstr) {
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
35 av_strlcpy(errbuf, errstr, errbuf_size);
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
36 } else {
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
37 #if HAVE_STRERROR_R
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
38 ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size);
916
2860cc0b5562 Make av_strerror() return -1 even in the case when av_strerror_r() is
stefano
parents: 915
diff changeset
39 #else
2860cc0b5562 Make av_strerror() return -1 even in the case when av_strerror_r() is
stefano
parents: 915
diff changeset
40 ret = -1;
892
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
41 #endif
916
2860cc0b5562 Make av_strerror() return -1 even in the case when av_strerror_r() is
stefano
parents: 915
diff changeset
42 if (ret < 0)
915
a1a27468a9c5 Make av_strerror() print an error message mentioning the error code
stefano
parents: 911
diff changeset
43 snprintf(errbuf, errbuf_size, "Error number %d occurred", errnum);
892
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
44 }
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
45
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
46 return ret;
3e77728d53e1 Implement av_strerror().
stefano
parents:
diff changeset
47 }