1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 18:23:26 +02:00
Commit Graph

69 Commits

Author SHA1 Message Date
Gabriel Caruso 5d6e923d46 Remove mention of PHP major version in Copyright headers
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Peter Kokot 92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Zeev Suraski 0cf7de1c70 Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
Christoph M. Becker 3b0f051193 Allow empty $escape to eschew escaping CSV
Albeit CSV is still a widespread data exchange format, it has never been
officially standardized.  There exists, however, the “informational” RFC
4180[1] which has no notion of escape characters, but rather defines
`escaped` as strings enclosed in double-quotes where contained
double-quotes have to be doubled.  While this concept is supported by
PHP's implementation (`$enclosure`), the `$escape` sometimes interferes,
so that `fgetcsv()` is unable to correctly parse externally generated
CSV, and `fputcsv()` is sometimes generating non-compliant CSV.  Since
PHP's `$escape` concept is availble for many years, we cannot drop it
for BC reasons (even though many consider it as bug).  Instead we allow
to pass an empty string as `$escape` parameter to the respective
functions, which results in ignoring/omitting any escaping, and as such
is more inline with RFC 4180.  It is noteworthy that this is almost no
userland BC break, since formerly most functions did not accept an empty
string, and failed in this case.  The only exception was `str_getcsv()`
which did accept an empty string, and used a backslash as escape
character then (which appears to be unintended behavior, anyway).

The changed functions are `fputcsv()`, `fgetcsv()` and `str_getcsv()`,
and also the `::setCsvControl()`, `::getCsvControl()`, `::fputcsv()`,
and `::fgetcsv()` methods of `SplFileObject`.

The implementation also changes the type of the escape parameter of the
PHP_APIs `php_fgetcsv()` and `php_fputcsv()` from `char` to `int`, where
`PHP_CSV_NO_ESCAPE` means to ignore/omit escaping.  The parameter
accepts the same values as `isalpha()` and friends, i.e. “the value of
which shall be representable as an `unsigned char` or shall equal the
value of the macro `EOF`.  If the argument has any other value, the
behavior is undefined.”  This is a subtle BC break, since the character
`chr(128)` has the value `-1` if `char` is signed, and so likely would
be confused with `EOF` when converted to `int`.  We consider this BC
break to be acceptable, since it's rather unlikely that anybody uses
`chr(128)` as escape character, and it easily can be fixed by casting
all `escape` arguments to `unsigned char`.

This patch implements the feature requests 38301[2] and 51496[3].

[1] <https://tools.ietf.org/html/rfc4180>
[2] <https://bugs.php.net/bug.php?id=38301>
[3] <https://bugs.php.net/bug.php?id=51496>
2018-12-15 14:38:15 +01:00
Peter Kokot 8d3f8ca12a Remove unused Git attributes ident
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Dmitry Stogov b864e6b58c Move constants into read-only data segment 2017-12-15 01:55:00 +03:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Lior Kaplan ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan 49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Dmitry Stogov e45f67245a Cleanup: don't keep useless dangling pointer 2015-09-22 17:48:25 +03:00
Xinchen Hui fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui 0579e8278d bump year 2015-01-15 23:26:37 +08:00
Anatol Belski bdeb220f48 first shot remove TSRMLS_* things 2014-12-13 23:06:14 +01:00
Remi Collet 4d16ca0beb Fix type of string lengths.
Those values are used in various call (including zpp) where
a size_t is expected.

This fix 82 failed test on ppc64
(bigendian is perfect to detect stack issue)
2014-12-01 16:10:44 +01:00
Johannes Schlüter d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Anatol Belski 3234480827 first show to make 's' work with size_t 2014-08-27 20:49:31 +02:00
Anatol Belski c3e3c98ec6 master renames phase 1 2014-08-25 19:24:55 +02:00
Anatol Belski 90d6f60bc1 mostly fixes to spl, but also some other 2014-08-17 13:31:39 +02:00
Xinchen Hui b78bbe93ca Fixed segfault (invalid free handling) 2014-03-16 22:05:38 +08:00
Xinchen Hui 9d4dca0880 Refactor Spl_Directory to fixed bug after default_properties changed 2014-03-15 22:07:40 +08:00
Xinchen Hui 2a82660923 Temporary fix zcontext 2014-02-28 22:21:51 +08:00
Xinchen Hui 990c923ef4 Refactored spl_filesystem_iterator 2014-02-28 19:07:54 +08:00
Xinchen Hui 382b0dfdb7 Refactoring zend_iterator (incompleted) 2014-02-27 19:19:02 +08:00
Xinchen Hui 34aefa5604 Use better data structures (incomplete) 2014-02-15 23:21:09 +08:00
Xinchen Hui 6cb316cf5d Use better data structures (incomplete) 2014-02-14 23:11:40 +08:00
Xinchen Hui c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui 6284ef112e Fixed bug #63236 (Executable permission on various source files) 2012-10-09 13:28:31 +08:00
Felipe Pena e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Hannes Magnusson f40e5204d4 Fixed bug #55807 (Wrong value for splFileObject::SKIP_EMPTY) 2011-09-30 14:17:23 +00:00
Felipe Pena 927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Sebastian Bergmann 9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Ilia Alshanetsky c16b7585f6 Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
directories).

[DOC]

To avoid breaking how existing code works a new constant is introduced for
the RecursiveDirectoryIterator() that directs the code to follow symlinks.
This constant RecursiveDirectoryIterator::FOLLOW_SYMLINKS can be passed a
flag to the constructor to trigger symlink following.
2009-07-08 03:06:59 +00:00
Etienne Kneuss b8d64e4085 MFH: Include other flags as well 2009-06-04 14:46:26 +00:00
Sebastian Bergmann 08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Steph Fox 0aeea4bdbf MFH SPL_FILE_DIR_UNIXPATHS. 2008-07-24 08:55:52 +00:00
Etienne Kneuss 8dafec40be MFH: Implement DirectoryIterator::seek 2008-07-19 11:20:18 +00:00
Etienne Kneuss 3681756cfb MFH: Fix path lookup when include_path is used 2008-05-20 21:46:51 +00:00
Etienne Kneuss 242f779fa1 MFH: Fix filesystemiterator with ./.. + add cloning tests 2008-05-18 12:17:43 +00:00
Marcus Boerger 1d98b27235 - MFH Make this behave like in <= 5.2.5 and test for it 2008-02-13 12:05:34 +00:00
Marcus Boerger 95262f8ac3 - MFH Really last flag change (got confused with code) 2008-02-04 21:37:47 +00:00
Marcus Boerger 81a5389af7 - MFH Really fix flag handling 2008-02-04 19:33:10 +00:00
Marcus Boerger b628fc219a - MFH Synch directory changes
[DOC]
# Class FilesystemIterator was introduced to have a better DirectoryIterator
# without having to change DirectoryIterator or RecursiveDirectoryIterator.
# On top of FilterIterator the new GlobIterator was introduced. This one allows
# to implement Countable(). But a glob stream flattens all structure, so it
# cannot be derived from RedursiveIterator. With the new structure all children
# of FilesystemIterator have nearly the same behavior. Just their capabilities
# are a bit different. Check out new inheritance tree on SplFileInfo:
#
# [marcus@frodo PHP_5_3]$ php ext/spl/examples/class_tree.php SplFileInfo
# make: `sapi/cli/php' is up to date.
# SplFileInfo
# |-DirectoryIterator (Iterator)
# | \-FilesystemIterator
# |   |-GlobIterator (Countable)
# |   \-RecursiveDirectoryIterator (RecursiveIterator)
# |     \-Phar (ArrayAccess, Countable)
# |-PharFileInfo
# \-SplFileObject (RecursiveIterator, SeekableIterator)
#   \-SplTempFileObject
2008-02-02 23:09:38 +00:00
Marcus Boerger 0b71904acc - Fixed glob:// stream handling in (Recursive)DirectoryIterator. 2008-01-30 20:31:07 +00:00
Sebastian Bergmann d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Jani Taskinen dcd3b197e7 MFH:- Fixed bug #43365 (Several enums have trailing commas) 2007-11-26 10:59:04 +00:00
David Soria Parra d4e8fa62c6 MFH: Add an escape parameter to fgetcsv to satisfy rfc4180 and bug #40501.
[DOC] 5th parameter available since PHP 5.3+
2007-10-03 10:44:32 +00:00
Sebastian Bergmann 4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Marcus Boerger d3bda9a516 - MFH: Correct comments 2006-11-12 15:58:17 +00:00