mirror of
https://github.com/php/php-src.git
synced 2026-04-18 21:41:22 +02:00
This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
77 lines
2.7 KiB
C
77 lines
2.7 KiB
C
/*
|
|
* "streamable kanji code filter and converter"
|
|
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
|
|
*
|
|
* LICENSE NOTICES
|
|
*
|
|
* This file is part of "streamable kanji code filter and converter",
|
|
* which is distributed under the terms of GNU Lesser General Public
|
|
* License (version 2) as published by the Free Software Foundation.
|
|
*
|
|
* This software is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with "streamable kanji code filter and converter";
|
|
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
|
* Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
* The author of this file:
|
|
*
|
|
*/
|
|
/*
|
|
* The source code included in this files was separated from mbfilter.h
|
|
* by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file
|
|
* mbfilter.h is included in this package .
|
|
*
|
|
*/
|
|
|
|
#ifndef MBFL_MEMORY_DEVICE_H
|
|
#define MBFL_MEMORY_DEVICE_H
|
|
|
|
#include "mbfl_defs.h"
|
|
#include "mbfl_string.h"
|
|
|
|
#define MBFL_MEMORY_DEVICE_ALLOC_SIZE 64
|
|
|
|
typedef struct _mbfl_memory_device {
|
|
unsigned char *buffer;
|
|
size_t length;
|
|
size_t pos;
|
|
size_t allocsz;
|
|
} mbfl_memory_device;
|
|
|
|
typedef struct _mbfl_wchar_device {
|
|
unsigned int *buffer;
|
|
size_t length;
|
|
size_t pos;
|
|
size_t allocsz;
|
|
} mbfl_wchar_device;
|
|
|
|
MBFLAPI extern void mbfl_memory_device_init(
|
|
mbfl_memory_device *device, size_t initsz, size_t allocsz);
|
|
MBFLAPI extern void mbfl_memory_device_realloc(
|
|
mbfl_memory_device *device, size_t initsz, size_t allocsz);
|
|
MBFLAPI extern void mbfl_memory_device_clear(mbfl_memory_device *device);
|
|
MBFLAPI extern void mbfl_memory_device_reset(mbfl_memory_device *device);
|
|
MBFLAPI extern mbfl_string * mbfl_memory_device_result(
|
|
mbfl_memory_device *device, mbfl_string *result);
|
|
MBFLAPI extern void mbfl_memory_device_unput(mbfl_memory_device *device);
|
|
MBFLAPI extern int mbfl_memory_device_output(int c, void *data);
|
|
MBFLAPI extern int mbfl_memory_device_output2(int c, void *data);
|
|
MBFLAPI extern int mbfl_memory_device_output4(int c, void *data);
|
|
MBFLAPI extern int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc);
|
|
MBFLAPI extern int mbfl_memory_device_strncat(
|
|
mbfl_memory_device *device, const char *psrc, size_t len);
|
|
MBFLAPI extern int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src);
|
|
|
|
MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device);
|
|
MBFLAPI extern int mbfl_wchar_device_output(int c, void *data);
|
|
MBFLAPI extern void mbfl_wchar_device_clear(mbfl_wchar_device *device);
|
|
|
|
|
|
|
|
#endif /* MBFL_MEMORY_DEVICE_H */
|