mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-26 05:38:22 +01:00
bef0d79764
when building for windows with _UNICODE defined unicode_gif.h|49 col 3| warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] Change-Id: Ib9f0cc0eba036d6cd4221a4f70a078770dde01d0
77 lines
1.9 KiB
C
77 lines
1.9 KiB
C
// Copyright 2018 Google Inc. All Rights Reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style license
|
|
// that can be found in the COPYING file in the root of the source
|
|
// tree. An additional intellectual property rights grant can be found
|
|
// in the file PATENTS. All contributing project authors may
|
|
// be found in the AUTHORS file in the root of the source tree.
|
|
// -----------------------------------------------------------------------------
|
|
//
|
|
// giflib doesn't have a Unicode DGifOpenFileName(). Let's make one.
|
|
//
|
|
// Author: Yannis Guyon (yguyon@google.com)
|
|
|
|
#ifndef WEBP_EXAMPLES_UNICODE_GIF_H_
|
|
#define WEBP_EXAMPLES_UNICODE_GIF_H_
|
|
|
|
#include "./unicode.h"
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "webp/config.h" // For WEBP_HAVE_GIF
|
|
#endif
|
|
|
|
#if defined(WEBP_HAVE_GIF)
|
|
|
|
#ifdef _WIN32
|
|
#include <fcntl.h> // Not standard, needed for _topen and flags.
|
|
#include <io.h>
|
|
#endif
|
|
|
|
#include <gif_lib.h>
|
|
#include <string.h>
|
|
#include "./gifdec.h"
|
|
|
|
#if !defined(STDIN_FILENO)
|
|
#define STDIN_FILENO 0
|
|
#endif
|
|
|
|
static GifFileType* DGifOpenFileUnicode(const W_CHAR* file_name, int* error) {
|
|
if (!WSTRCMP(file_name, "-")) {
|
|
#if LOCAL_GIF_PREREQ(5, 0)
|
|
return DGifOpenFileHandle(STDIN_FILENO, error);
|
|
#else
|
|
(void)error;
|
|
return DGifOpenFileHandle(STDIN_FILENO);
|
|
#endif
|
|
}
|
|
|
|
#if defined(_WIN32) && defined(_UNICODE)
|
|
{
|
|
int file_handle = _wopen(file_name, _O_RDONLY | _O_BINARY);
|
|
if (file_handle == -1) {
|
|
if (error != NULL) *error = D_GIF_ERR_OPEN_FAILED;
|
|
return NULL;
|
|
}
|
|
|
|
#if LOCAL_GIF_PREREQ(5, 0)
|
|
return DGifOpenFileHandle(file_handle, error);
|
|
#else
|
|
return DGifOpenFileHandle(file_handle);
|
|
#endif
|
|
}
|
|
|
|
#else
|
|
|
|
#if LOCAL_GIF_PREREQ(5, 0)
|
|
return DGifOpenFileName(file_name, error);
|
|
#else
|
|
return DGifOpenFileName(file_name);
|
|
#endif
|
|
|
|
#endif // defined(_WIN32) && defined(_UNICODE)
|
|
// DGifCloseFile() is called later.
|
|
}
|
|
|
|
#endif // defined(WEBP_HAVE_GIF)
|
|
|
|
#endif // WEBP_EXAMPLES_UNICODE_GIF_H_
|