diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-09-11 14:38:47 +0900 |
| commit | 884c8093d63402a1ad0b502244b791e3c6782be3 (patch) | |
| tree | a600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/transcode/transcode-1.1.7/avilib/platform_posix.c | |
| parent | 14e1aa2006796f147f3f4811fb908a6b01e79253 (diff) | |
| download | extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip | |
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/transcode/transcode-1.1.7/avilib/platform_posix.c')
| -rw-r--r-- | debian/transcode/transcode-1.1.7/avilib/platform_posix.c | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/avilib/platform_posix.c b/debian/transcode/transcode-1.1.7/avilib/platform_posix.c new file mode 100644 index 00000000..0ce71cd0 --- /dev/null +++ b/debian/transcode/transcode-1.1.7/avilib/platform_posix.c @@ -0,0 +1,151 @@ +/* + * platform_posix.c -- plain POSIX platform wrappers. + * (C) 2007-2010 - Francesco Romani <fromani -at- gmail -dot- com> + * + * 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. + */ + +#include "platform.h" + +#include <string.h> +#include <stdarg.h> +#include <errno.h> + + +/*************************************************************************/ +/* I/O is straightforward. */ +/*************************************************************************/ + +int plat_open(const char *pathname, int flags, int mode) +{ + return open(pathname, flags, mode); +} + +int plat_close(int fd) +{ + return close(fd); +} + +/* + * automatically restart after a recoverable interruption + */ +ssize_t plat_read(int fd, void *buf, size_t count) +{ + ssize_t n = 0, r = 0; + + while (r < count) { + n = read(fd, buf + r, count - r); + if (n == 0) + break; + if (n < 0) { + if (errno == EINTR) + continue; + else + break; + } + + r += n; + } + return r; +} + +/* + * automatically restart after a recoverable interruption + */ +ssize_t plat_write(int fd, const void *buf, size_t count) +{ + ssize_t n = 0, r = 0; + + while (r < count) { + n = write(fd, buf + r, count - r); + if (n < 0) + return n; + + r += n; + } + return r; +} + + +int64_t plat_seek(int fd, int64_t offset, int whence) +{ + return lseek(fd, offset, whence); +} + +int plat_ftruncate(int fd, int64_t length) +{ + return ftruncate(fd, length); +} + + + +/*************************************************************************/ +/* Memory management is straightforward too. */ +/*************************************************************************/ + +void *_plat_malloc(const char *file, int line, size_t size) +{ + return malloc(size); +} + +void *_plat_zalloc(const char *file, int line, size_t size) +{ + return calloc(1, size); +} + +void *_plat_realloc(const char *file, int line, void *ptr, size_t size) +{ + return realloc(ptr, size); +} + +void plat_free(void *ptr) +{ + free(ptr); +} + + + +/*************************************************************************/ +/* Trivial logging support. */ +/*************************************************************************/ + +int plat_log_open(void) +{ + return 0; +} + +int plat_log_send(PlatLogLevel level, + const char *tag, const char *fmt, ...) +{ + char buffer[1024]; + va_list ap; + + va_start(ap, fmt); + vsnprintf(buffer, 1024, fmt, ap); + va_end(ap); + + fprintf(stderr, "[%s] %s\n", tag, buffer); + + return 0; +} + +int plat_log_close(void) +{ + return 0; +} + +// EOF |
