diff options
author | Łukasz Niemier <lukasz@niemier.pl> | 2012-11-18 11:23:22 +0100 |
---|---|---|
committer | Łukasz Niemier <lukasz@niemier.pl> | 2012-11-18 11:23:22 +0100 |
commit | 47df1ae40adecd0a02fc7dd06ab0745cb18c3fe0 (patch) | |
tree | 13bf3e8fdcae60fdfb5fa5e26c95818dc7a49790 /builtin_ulimit.cpp | |
parent | b79854ad1aa814d9d35d76a1929b4726fa4bffa5 (diff) |
Remove trailing whitespaces and change tabs to spaces
Diffstat (limited to 'builtin_ulimit.cpp')
-rw-r--r-- | builtin_ulimit.cpp | 798 |
1 files changed, 399 insertions, 399 deletions
diff --git a/builtin_ulimit.cpp b/builtin_ulimit.cpp index 93e37cc5..d20abeed 100644 --- a/builtin_ulimit.cpp +++ b/builtin_ulimit.cpp @@ -1,6 +1,6 @@ /** \file builtin_ulimit.c Functions defining the ulimit builtin -Functions used for implementing the ulimit builtin. +Functions used for implementing the ulimit builtin. */ #include "config.h" @@ -27,99 +27,99 @@ Functions used for implementing the ulimit builtin. */ struct resource_t { - /** - Resource id - */ - int resource; - /** - Description of resource - */ - const wchar_t *desc; - /** - Switch used on commandline to specify resource - */ - wchar_t switch_char; - /** - The implicit multiplier used when setting getting values - */ - int multiplier; + /** + Resource id + */ + int resource; + /** + Description of resource + */ + const wchar_t *desc; + /** + Switch used on commandline to specify resource + */ + wchar_t switch_char; + /** + The implicit multiplier used when setting getting values + */ + int multiplier; } - ; + ; /** Array of resource_t structs, describing all known resource types. */ static const struct resource_t resource_arr[] = { - { - RLIMIT_CORE, L"Maximum size of core files created", L'c', 1024 - } - , - { - RLIMIT_DATA, L"Maximum size of a process’s data segment", L'd', 1024 - } - , - { - RLIMIT_FSIZE, L"Maximum size of files created by the shell", L'f', 1024 - } - , + { + RLIMIT_CORE, L"Maximum size of core files created", L'c', 1024 + } + , + { + RLIMIT_DATA, L"Maximum size of a process’s data segment", L'd', 1024 + } + , + { + RLIMIT_FSIZE, L"Maximum size of files created by the shell", L'f', 1024 + } + , #ifdef RLIMIT_MEMLOCK - { - RLIMIT_MEMLOCK, L"Maximum size that may be locked into memory", L'l', 1024 - } - , + { + RLIMIT_MEMLOCK, L"Maximum size that may be locked into memory", L'l', 1024 + } + , #endif #ifdef RLIMIT_RSS - { - RLIMIT_RSS, L"Maximum resident set size", L'm', 1024 - } - , + { + RLIMIT_RSS, L"Maximum resident set size", L'm', 1024 + } + , #endif - { - RLIMIT_NOFILE, L"Maximum number of open file descriptors", L'n', 1 - } - , - { - RLIMIT_STACK, L"Maximum stack size", L's', 1024 - } - , - { - RLIMIT_CPU, L"Maximum amount of cpu time in seconds", L't', 1 - } - , + { + RLIMIT_NOFILE, L"Maximum number of open file descriptors", L'n', 1 + } + , + { + RLIMIT_STACK, L"Maximum stack size", L's', 1024 + } + , + { + RLIMIT_CPU, L"Maximum amount of cpu time in seconds", L't', 1 + } + , #ifdef RLIMIT_NPROC - { - RLIMIT_NPROC, L"Maximum number of processes available to a single user", L'u', 1 - } - , + { + RLIMIT_NPROC, L"Maximum number of processes available to a single user", L'u', 1 + } + , #endif #ifdef RLIMIT_AS - { - RLIMIT_AS, L"Maximum amount of virtual memory available to the shell", L'v', 1024 - } - , + { + RLIMIT_AS, L"Maximum amount of virtual memory available to the shell", L'v', 1024 + } + , #endif - { - 0, 0, 0, 0 - } + { + 0, 0, 0, 0 + } } - ; + ; /** Get the implicit multiplication factor for the specified resource limit */ static int get_multiplier( int what ) { - int i; - - for( i=0; resource_arr[i].desc; i++ ) - { - if( resource_arr[i].resource == what ) - { - return resource_arr[i].multiplier; - } - } - return -1; + int i; + + for( i=0; resource_arr[i].desc; i++ ) + { + if( resource_arr[i].resource == what ) + { + return resource_arr[i].multiplier; + } + } + return -1; } /** @@ -129,11 +129,11 @@ static int get_multiplier( int what ) */ static rlim_t get( int resource, int hard ) { - struct rlimit ls; - - getrlimit( resource, &ls ); - - return hard ? ls.rlim_max:ls.rlim_cur; + struct rlimit ls; + + getrlimit( resource, &ls ); + + return hard ? ls.rlim_max:ls.rlim_cur; } /** @@ -141,13 +141,13 @@ static rlim_t get( int resource, int hard ) */ static void print( int resource, int hard ) { - rlim_t l = get( resource, hard ); + rlim_t l = get( resource, hard ); + + if( l == RLIM_INFINITY ) + stdout_buffer.append( L"unlimited\n" ); + else + append_format(stdout_buffer, L"%d\n", l / get_multiplier( resource ) ); - if( l == RLIM_INFINITY ) - stdout_buffer.append( L"unlimited\n" ); - else - append_format(stdout_buffer, L"%d\n", l / get_multiplier( resource ) ); - } /** @@ -155,40 +155,40 @@ static void print( int resource, int hard ) */ static void print_all( int hard ) { - int i; - int w=0; - - for( i=0; resource_arr[i].desc; i++ ) - { - w=maxi( w, my_wcswidth(resource_arr[i].desc)); - } - - for( i=0; resource_arr[i].desc; i++ ) - { - struct rlimit ls; - rlim_t l; - getrlimit( resource_arr[i].resource, &ls ); - l = hard ? ls.rlim_max:ls.rlim_cur; - - const wchar_t *unit = ((resource_arr[i].resource==RLIMIT_CPU)?L"(seconds, ":(get_multiplier(resource_arr[i].resource)==1?L"(":L"(kB, ")); - - append_format(stdout_buffer, - L"%-*ls %10ls-%lc) ", - w, - resource_arr[i].desc, - unit, - resource_arr[i].switch_char); - - if( l == RLIM_INFINITY ) - { - stdout_buffer.append( L"unlimited\n" ); - } - else - { - append_format(stdout_buffer, L"%d\n", l/get_multiplier(resource_arr[i].resource) ); - } - } - + int i; + int w=0; + + for( i=0; resource_arr[i].desc; i++ ) + { + w=maxi( w, my_wcswidth(resource_arr[i].desc)); + } + + for( i=0; resource_arr[i].desc; i++ ) + { + struct rlimit ls; + rlim_t l; + getrlimit( resource_arr[i].resource, &ls ); + l = hard ? ls.rlim_max:ls.rlim_cur; + + const wchar_t *unit = ((resource_arr[i].resource==RLIMIT_CPU)?L"(seconds, ":(get_multiplier(resource_arr[i].resource)==1?L"(":L"(kB, ")); + + append_format(stdout_buffer, + L"%-*ls %10ls-%lc) ", + w, + resource_arr[i].desc, + unit, + resource_arr[i].switch_char); + + if( l == RLIM_INFINITY ) + { + stdout_buffer.append( L"unlimited\n" ); + } + else + { + append_format(stdout_buffer, L"%d\n", l/get_multiplier(resource_arr[i].resource) ); + } + } + } /** @@ -196,16 +196,16 @@ static void print_all( int hard ) */ static const wchar_t *get_desc( int what ) { - int i; - - for( i=0; resource_arr[i].desc; i++ ) - { - if( resource_arr[i].resource == what ) - { - return resource_arr[i].desc; - } - } - return L"Not a resource"; + int i; + + for( i=0; resource_arr[i].desc; i++ ) + { + if( resource_arr[i].resource == what ) + { + return resource_arr[i].desc; + } + } + return L"Not a resource"; } /** @@ -215,37 +215,37 @@ static const wchar_t *get_desc( int what ) */ static int set( int resource, int hard, int soft, rlim_t value ) { - struct rlimit ls; - getrlimit( resource, &ls ); - - if( hard ) - { - ls.rlim_max = value; - } - - if( soft ) - { - ls.rlim_cur = value; - - /* - Do not attempt to set the soft limit higher than the hard limit - */ - if( ( value == RLIM_INFINITY && ls.rlim_max != RLIM_INFINITY ) || - ( value != RLIM_INFINITY && ls.rlim_max != RLIM_INFINITY && value > ls.rlim_max)) - { - ls.rlim_cur = ls.rlim_max; - } - } - - if( setrlimit( resource, &ls ) ) - { - if( errno == EPERM ) - append_format(stderr_buffer, L"ulimit: Permission denied when changing resource of type '%ls'\n", get_desc( resource ) ); - else - builtin_wperror( L"ulimit" ); - return 1; - } - return 0; + struct rlimit ls; + getrlimit( resource, &ls ); + + if( hard ) + { + ls.rlim_max = value; + } + + if( soft ) + { + ls.rlim_cur = value; + + /* + Do not attempt to set the soft limit higher than the hard limit + */ + if( ( value == RLIM_INFINITY && ls.rlim_max != RLIM_INFINITY ) || + ( value != RLIM_INFINITY && ls.rlim_max != RLIM_INFINITY && value > ls.rlim_max)) + { + ls.rlim_cur = ls.rlim_max; + } + } + + if( setrlimit( resource, &ls ) ) + { + if( errno == EPERM ) + append_format(stderr_buffer, L"ulimit: Permission denied when changing resource of type '%ls'\n", get_desc( resource ) ); + else + builtin_wperror( L"ulimit" ); + return 1; + } + return 0; } /** @@ -254,259 +254,259 @@ static int set( int resource, int hard, int soft, rlim_t value ) */ static int builtin_ulimit( parser_t &parser, wchar_t ** argv ) { - int hard=0; - int soft=0; - - int what = RLIMIT_FSIZE; - int report_all = 0; - - int argc = builtin_count_args( argv ); - - woptind=0; - - while( 1 ) - { - static const struct woption - long_options[] = - { - { - L"all", no_argument, 0, 'a' - } - , - { - L"hard", no_argument, 0, 'H' - } - , - { - L"soft", no_argument, 0, 'S' - } - , - { - L"core-size", no_argument, 0, 'c' - } - , - { - L"data-size", no_argument, 0, 'd' - } - , - { - L"file-size", no_argument, 0, 'f' - } - , - { - L"lock-size", no_argument, 0, 'l' - } - , - { - L"resident-set-size", no_argument, 0, 'm' - } - , - { - L"file-descriptor-count", no_argument, 0, 'n' - } - , - { - L"stack-size", no_argument, 0, 's' - } - , - { - L"cpu-time", no_argument, 0, 't' - } - , - { - L"process-count", no_argument, 0, 'u' - } - , - { - L"virtual-memory-size", no_argument, 0, 'v' - } - , - { - L"help", no_argument, 0, 'h' - } - , - { - 0, 0, 0, 0 - } - } - ; - - - int opt_index = 0; - - int opt = wgetopt_long( argc, - argv, - L"aHScdflmnstuvh", - long_options, - &opt_index ); - if( opt == -1 ) - break; - - switch( opt ) - { - case 0: - if(long_options[opt_index].flag != 0) - break; + int hard=0; + int soft=0; + + int what = RLIMIT_FSIZE; + int report_all = 0; + + int argc = builtin_count_args( argv ); + + woptind=0; + + while( 1 ) + { + static const struct woption + long_options[] = + { + { + L"all", no_argument, 0, 'a' + } + , + { + L"hard", no_argument, 0, 'H' + } + , + { + L"soft", no_argument, 0, 'S' + } + , + { + L"core-size", no_argument, 0, 'c' + } + , + { + L"data-size", no_argument, 0, 'd' + } + , + { + L"file-size", no_argument, 0, 'f' + } + , + { + L"lock-size", no_argument, 0, 'l' + } + , + { + L"resident-set-size", no_argument, 0, 'm' + } + , + { + L"file-descriptor-count", no_argument, 0, 'n' + } + , + { + L"stack-size", no_argument, 0, 's' + } + , + { + L"cpu-time", no_argument, 0, 't' + } + , + { + L"process-count", no_argument, 0, 'u' + } + , + { + L"virtual-memory-size", no_argument, 0, 'v' + } + , + { + L"help", no_argument, 0, 'h' + } + , + { + 0, 0, 0, 0 + } + } + ; + + + int opt_index = 0; + + int opt = wgetopt_long( argc, + argv, + L"aHScdflmnstuvh", + long_options, + &opt_index ); + if( opt == -1 ) + break; + + switch( opt ) + { + case 0: + if(long_options[opt_index].flag != 0) + break; append_format(stderr_buffer, BUILTIN_ERR_UNKNOWN, argv[0], long_options[opt_index].name ); - builtin_print_help( parser, argv[0], stderr_buffer ); - - return 1; - - case L'a': - report_all=1; - break; - - case L'H': - hard=1; - break; - - case L'S': - soft=1; - break; - - case L'c': - what=RLIMIT_CORE; - break; - - case L'd': - what=RLIMIT_DATA; - break; - - case L'f': - what=RLIMIT_FSIZE; - break; + builtin_print_help( parser, argv[0], stderr_buffer ); + + return 1; + + case L'a': + report_all=1; + break; + + case L'H': + hard=1; + break; + + case L'S': + soft=1; + break; + + case L'c': + what=RLIMIT_CORE; + break; + + case L'd': + what=RLIMIT_DATA; + break; + + case L'f': + what=RLIMIT_FSIZE; + break; #ifdef RLIMIT_MEMLOCK - case L'l': - what=RLIMIT_MEMLOCK; - break; + case L'l': + what=RLIMIT_MEMLOCK; + break; #endif -#ifdef RLIMIT_RSS - case L'm': - what=RLIMIT_RSS; - break; +#ifdef RLIMIT_RSS + case L'm': + what=RLIMIT_RSS; + break; #endif - - case L'n': - what=RLIMIT_NOFILE; - break; - - case L's': - what=RLIMIT_STACK; - break; - - case L't': - what=RLIMIT_CPU; - break; - -#ifdef RLIMIT_NPROC - case L'u': - what=RLIMIT_NPROC; - break; + + case L'n': + what=RLIMIT_NOFILE; + break; + + case L's': + what=RLIMIT_STACK; + break; + + case L't': + what=RLIMIT_CPU; + break; + +#ifdef RLIMIT_NPROC + case L'u': + what=RLIMIT_NPROC; + break; #endif - -#ifdef RLIMIT_AS - case L'v': - what=RLIMIT_AS; - break; + +#ifdef RLIMIT_AS + case L'v': + what=RLIMIT_AS; + break; #endif - - case L'h': - builtin_print_help( parser, argv[0], stdout_buffer ); - return 0; - - case L'?': - builtin_unknown_option( parser, argv[0], argv[woptind-1] ); - return 1; - } - } - - if( report_all ) - { - if( argc - woptind == 0 ) - { - print_all( hard ); - } - else - { + + case L'h': + builtin_print_help( parser, argv[0], stdout_buffer ); + return 0; + + case L'?': + builtin_unknown_option( parser, argv[0], argv[woptind-1] ); + return 1; + } + } + + if( report_all ) + { + if( argc - woptind == 0 ) + { + print_all( hard ); + } + else + { stderr_buffer.append(argv[0]); stderr_buffer.append(L": Too many arguments\n"); - builtin_print_help( parser, argv[0], stderr_buffer ); - return 1; - } - - return 0; - } - - switch( argc - woptind ) - { - case 0: - { - /* - Show current limit value - */ - print( what, hard ); - break; - } - - case 1: - { - /* - Change current limit value - */ - rlim_t new_limit; - wchar_t *end; - - /* - Set both hard and soft limits if nothing else was specified - */ - if( !(hard+soft) ) - { - hard=soft=1; - } - - if( wcscasecmp( argv[woptind], L"unlimited" )==0) - { - new_limit = RLIM_INFINITY; - } - else if( wcscasecmp( argv[woptind], L"hard" )==0) - { - new_limit = get( what, 1 ); - } - else if( wcscasecmp( argv[woptind], L"soft" )==0) - { - new_limit = get( what, soft ); - } - else - { - errno=0; - new_limit = wcstol( argv[woptind], &end, 10 ); - if( errno || *end ) - { - append_format(stderr_buffer, - L"%ls: Invalid limit '%ls'\n", - argv[0], - argv[woptind] ); - builtin_print_help( parser, argv[0], stderr_buffer ); - return 1; - } - new_limit *= get_multiplier( what ); - } - - return set( what, hard, soft, new_limit ); - } - - default: - { + builtin_print_help( parser, argv[0], stderr_buffer ); + return 1; + } + + return 0; + } + + switch( argc - woptind ) + { + case 0: + { + /* + Show current limit value + */ + print( what, hard ); + break; + } + + case 1: + { + /* + Change current limit value + */ + rlim_t new_limit; + wchar_t *end; + + /* + Set both hard and soft limits if nothing else was specified + */ + if( !(hard+soft) ) + { + hard=soft=1; + } + + if( wcscasecmp( argv[woptind], L"unlimited" )==0) + { + new_limit = RLIM_INFINITY; + } + else if( wcscasecmp( argv[woptind], L"hard" )==0) + { + new_limit = get( what, 1 ); + } + else if( wcscasecmp( argv[woptind], L"soft" )==0) + { + new_limit = get( what, soft ); + } + else + { + errno=0; + new_limit = wcstol( argv[woptind], &end, 10 ); + if( errno || *end ) + { + append_format(stderr_buffer, + L"%ls: Invalid limit '%ls'\n", + argv[0], + argv[woptind] ); + builtin_print_help( parser, argv[0], stderr_buffer ); + return 1; + } + new_limit *= get_multiplier( what ); + } + + return set( what, hard, soft, new_limit ); + } + + default: + { stderr_buffer.append(argv[0]); stderr_buffer.append(L": Too many arguments\n"); - builtin_print_help( parser, argv[0], stderr_buffer ); - return 1; - } - - } - return 0; + builtin_print_help( parser, argv[0], stderr_buffer ); + return 1; + } + + } + return 0; } |