Ticket #13828: 0003-Statisfy-the-Coding-Guidelines.patch

File 0003-Statisfy-the-Coding-Guidelines.patch, 5.5 KB (added by lezsakdomi, 7 years ago)

Depends on 0002-Improve-argument-parsing.patch

  • src/bin/setlocale.cpp

    From 28b2eafa35b49b06281bbca04a9b9c913de50a07 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Domonkos=20Lezs=C3=A1k?= <lezsakdomi1@gmail.com>
    Date: Wed, 6 Dec 2017 18:13:33 +0100
    Subject: [PATCH] Statisfy the Coding Guidelines
    
    ---
     src/bin/setlocale.cpp | 78 +++++++++++++++++++++++++++++++--------------------
     1 file changed, 47 insertions(+), 31 deletions(-)
    
    diff --git a/src/bin/setlocale.cpp b/src/bin/setlocale.cpp
    index 97ab210019..a2689535d1 100644
    a b matches(const char* a, const char* b)  
    2929    return !strcasecmp(a, b);
    3030}
    3131
    32 static const char* helpMessage =
     32
     33static const char* kHelpMessage =
    3334    "Set system-wide locale\n"
    3435    "\n"
    3536    "Arguments for long options are mandatory for short options too.\n"
    static const char* helpMessage =  
    3839    "\n"
    3940    "Arguments for listing locales:\n"
    4041    "  -l, --list    Switch to list mode.\n"
    41     "                Output format: language<TAB>country<TAB>script<TAB>variant<TAB>...name...<NEWLINE>\n"
     42    "                Output format: language<TAB>country<TAB>script<TAB>"
     43        "variant<TAB>...name...<NEWLINE>\n"
    4244    "\n"
    4345    "Arguments for setting locale:\n"
    4446    "  -s, --script  Specify script for locale\n"
    4547    "  -x, --variant Specify language variant\n"
    4648;
    47 static const char* noCodeSpecifiedMessage = "Error: No language code specified.\n";
    48 static const char* tooManyTrailingArgsMessage = "Error: To many (%d) trailing arguments specified. Only a language code (and maybe a country code) allowed.\n";
    49 static const char* unknownArgMessage = "Error: Unknown argument: -%c\n";
    50 static const char* usageMessage =
     49static const char* kNoCodeSpecifiedMessage =
     50    "Error: No language code specified.\n";
     51static const char* kTooManyTrailingArgsMessage =
     52    "Error: To many (%d) trailing arguments specified."
     53    "Only a language code (and maybe a country code) allowed.\n";
     54static const char* kUnknownArgMessage = "Error: Unknown argument: -%c\n";
     55static const char* kUsageMessage =
    5156    "Usage: setlocale -l|--list\n"
    5257    "or     setlocale -h|--help\n"
    53     "or     setlocale language [country] [-s|--script script] [-v|--variant variant]\n"
     58    "or     setlocale language [country] [-s|--script script]"
     59        "[-v|--variant variant]\n"
    5460;
    5561
    5662int
    main(const int argc, char* const argv[])  
    7177            { "variant", required_argument, NULL, 'x' },
    7278        };
    7379        const char* optstring = "hls:x:";
    74 
    75         int c;
    76         while ((c = getopt_long(argc, argv, optstring, longopts, NULL)) != -1)
     80       
     81        for (int c = getopt_long(argc, argv, optstring, longopts, NULL);
     82            c != -1; c = getopt_long(argc, argv, optstring, longopts, NULL))
    7783        {
    78             switch (c) {
     84            switch (c)
     85            {
    7986                case 'h':
    80                     puts(usageMessage);
    81                     puts(helpMessage);
     87                    puts(kUsageMessage);
     88                    puts(kHelpMessage);
    8289                    return 0;
    8390
    8491                case 'l':
    main(const int argc, char* const argv[])  
    94101                    break;
    95102
    96103                default:
    97                     fprintf(stderr, unknownArgMessage, c);
     104                    // error
     105                    fprintf(stderr, kUnknownArgMessage, c);
    98106                    fputc('\n', stderr);
    99                     fputs(usageMessage, stderr);
     107                    fputs(kUsageMessage, stderr);
    100108                    return 1;
    101109            }
    102110        }
    103111
    104112        {
    105             // check for proper command line, requiring exactly one of list or query
    106             if (list) {
    107                 if (argc != optind) {
    108                     fputs(listModeButTrailingArgsMessage, stderr);
     113            if (list)
     114            {
     115                if (argc != optind)
     116                {
     117                    fputs(kListModeButTrailingArgsMessage, stderr);
    109118                    fputc('\n', stderr);
    110                     fputs(usageMessage, stderr);
     119                    fputs(kUsageMessage, stderr);
    111120                    return 1;
    112121                }
    113122            } else {
    114                 int numRemainOptions = argc-optind;
    115                 switch (numRemainOptions) {
     123                int numRemainOptions = argc - optind;
     124                switch (numRemainOptions)
     125                {
    116126                    case 2:
    117                         queryCountry = argv[optind+1]; //fallthru
     127                        queryCountry = argv[optind + 1];
     128                        // fallthru
    118129                    case 1:
    119130                        queryCode = argv[optind];
    120131                        break;
    121132
    122133                    case 0:
    123134                        if (list) break;
    124                         fputs(noCodeSpecifiedMessage, stderr);
     135                        fputs(kNoCodeSpecifiedMessage, stderr);
    125136                        fputc('\n', stderr);
    126                         fputs(usageMessage, stderr);
     137                        fputs(kUsageMessage, stderr);
    127138                        return 1;
    128139
    129140                    default:
    130                         fprintf(stderr, tooManyTrailingArgsMessage, numRemainOptions);
     141                        fprintf(stderr, kTooManyTrailingArgsMessage,
     142                                numRemainOptions);
    131143                        fputc('\n', stderr);
    132                         fputs(usageMessage, stderr);
     144                        fputs(kUsageMessage, stderr);
    133145                        return 1;
    134146                }
    135147            }
    main(const int argc, char* const argv[])  
    141153    BLocaleRoster::Default()->GetAvailableLanguages(&languages);
    142154
    143155    const char* id;
    144     for (int32 i = 0; languages.FindString("language", i, &id) == B_OK; ++i) {
     156    for (int32 i = 0; languages.FindString("language", i, &id) == B_OK; i++)
     157    {
    145158        BLanguage* language;
    146         if (BLocaleRoster::Default()->GetLanguage(id, &language) == B_OK) {
     159        if (BLocaleRoster::Default()->GetLanguage(id, &language) == B_OK)
     160        {
    147161            // extract all the relevant information about the language
    148162            BString name;
    149163            language->GetNativeName(name);
    main(const int argc, char* const argv[])  
    163177            else if (!strcasecmp(code, queryCode)
    164178                && matches(country, queryCountry)
    165179                && matches(script, queryScript)
    166                 && matches(variant, queryVariant)) {
     180                && matches(variant, queryVariant))
     181            {
    167182                // found a match! set the new locale
    168183                BMessage preferred;
    169184                preferred.AddString("language", id);
    main(const int argc, char* const argv[])  
    181196
    182197    // if we've gotten this far and the -l flag wasn't passed, the requested
    183198    // locale wasn't found
    184     if (!list) {
     199    if (!list)
     200    {
    185201        fprintf(stderr, "Locale not found\n");
    186202        return 1;
    187203    }