Updated exit codes as constant values
Re-allocated exit status codes according to three references, which follow:
BSD sysexits.h:http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
GNU recomendations:http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
Bash scripting:http://tldp.org/LDP/abs/html/exitcodes.html
The GNU recommendations stem from and expand upon the standard C/C++ library (stdlibc)
definitions, while also suggesting some best-practice conventions which happen to prevent
exit status code collisions with bash, and probably other shells.
The re-allocated codes are now mapped to constant values, set in *application/config/constants.php*,
and used throughout the CodeIgniter core. They would additionally be used in *index.php*,
but the constants file hasn't been loaded at that point, so the integer values are used
instead, and a comment follows each such use with amplifying information on why that
particular value was selected.
Finally, the errors documentation has been updated accordingly.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
diff --git a/index.php b/index.php
index be09457..a52a021 100755
--- a/index.php
+++ b/index.php
@@ -67,7 +67,8 @@
default:
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
- exit('The application environment is not set correctly.');
+ echo 'The application environment is not set correctly.';
+ exit(1); // EXIT_* constants not yet defined; 1 is EXIT_FAILURE, a generic error.
}
/*
@@ -190,7 +191,8 @@
if ( ! is_dir($system_path))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
- exit('Your system folder path does not appear to be set correctly. Please open the following file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME));
+ echo 'Your system folder path does not appear to be set correctly. Please open the following file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME);
+ exit(3); // EXIT_* constants not yet defined; 3 is EXIT_CONFIG.
}
/*
@@ -225,7 +227,8 @@
if ( ! is_dir(BASEPATH.$application_folder.'/'))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
- exit('Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF);
+ echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
+ exit(3); // EXIT_* constants not yet defined; 3 is EXIT_CONFIG.
}
define('APPPATH', BASEPATH.$application_folder.'/');
@@ -241,7 +244,8 @@
elseif ( ! is_dir(APPPATH.'views/'))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
- exit('Your view folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF);
+ echo 'Your view folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
+ exit(3); // EXIT_* constants not yet defined; 3 is EXIT_CONFIG.
}
else
{