Mercurial > cabal
view sources/engine.cpp @ 0:bafff9de2a76
Initial commit since summer'07
| author | Vlad Glagolev <enqlave@gmail.com> |
|---|---|
| date | Sun, 20 Jan 2008 19:25:25 +0300 |
| parents | |
| children | 19227b0b7cc1 |
line wrap: on
line source
/** * engine.cpp (2007-03-05) * * -- CABAL -- engine (useful functions) * * Copyright (c) 2007 Vlad Glagolev <enqlave@gmail.com> * All rights reserved. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "engine.h" bool daemonize() { if (daemon (1, 1) != 0) { cout << "Error: unable to daemonize into background\n"; exit (1); } else { cout << "ENGINE: successfully daemonized into background\n"; return daemon (1, 1) == 0; } } time_t gettime() { time_t t; return time (&t); } char *eTime (time_t t) { char *nt = asctime (localtime (&t)); nt[strlen (nt) - 1] = 0; return nt; } char *eCountry (char *c) { if (!*c) return "Enter the correct code of country"; else sscanf (c, "%s", c); struct countries { char *code; char *country; } countries[] = { "AC", "Ascension Island", "AD", "Andorra", "AE", "United Arab Emirates", "AF", "Afghanistan", "AG", "Antigua and Barbuda", "AI", "Anguilla", "AL", "Albania", "AM", "Armenia", "AN", "Netherlands Antilles", "AO", "Angola", "AQ", "Antarctica", "AR", "Argentina", "AS", "American Samoa", "AT", "Austria", "AU", "Australia", "AW", "Aruba", "AX", "Aland Islands", "AZ", "Azerbaijan", "BA", "Bosnia and Herzegovina", "BB", "Barbados", "BD", "Bangladesh", "BE", "Belgium", "BF", "Burkina Faso", "BG", "Bulgaria", "BH", "Bahrain", "BI", "Burundi", "BJ", "Benin", "BM", "Bermuda", "BN", "Brunei Darussalam", "BO", "Bolivia", "BR", "Brazil", "BS", "Bahamas", "BT", "Bhutan", "BU", "Burma", "BV", "Bouvet Island", "BW", "Botswana", "BY", "Belarus", "BZ", "Belize", "CA", "Canada", "CC", "Cocos (Keeling) Islands", "CD", "The Democratic Republic of the Congo", "CF", "Central African Republic", "CG", "Congo", "CH", "Switzerland", "CI", "Cote d'Ivoire (Ivory Coast)", "CK", "Cook Islands", "CL", "Chile", "CM", "Cameroon", "CN", "China", "CO", "Colombia", "CR", "Costa Rica", "CS", "Serbia and Montenegro", "CU", "Cuba", "CV", "Cape Verde", "CX", "Christmas Island", "CY", "Cyprus", "CZ", "Czech Republic", "DE", "Germany", "DJ", "Djibouti", "DK", "Denmark", "DM", "Dominica", "DO", "Dominican Republic", "DZ", "Algeria", "EC", "Ecuador", "EE", "Estonia", "EG", "Egypt", "EH", "Western Sahara", "ER", "Eritrea", "ES", "Spain (including Canary Islands, Ceuta and Melilla)", "ET", "Ethiopia", "EU", "European Union", "FI", "Finland", "FJ", "Fiji", "FK", "Falkland Islands (Malvinas)", "FM", "Federated States of Micronesia", "FO", "Faroe Islands", "FR", "France", "GA", "Gabon", "GD", "Grenada", "GE", "Georgia", "GF", "French Guiana", "GG", "Guernsey", "GH", "Ghana", "GI", "Gibraltar", "GL", "Greenland", "GM", "Gambia", "GN", "Guinea", "GP", "Guadeloupe", "GQ", "Equatorial Guinea", "GR", "Greece", "GS", "South Georgia and the South Sandwich Islands", "GT", "Guatemala", "GU", "Guam", "GW", "Guinea-Bissau", "GY", "Guyana", "HK", "Hong Kong", "HM", "Heard Island and McDonald Islands", "HN", "Honduras", "HR", "Croatia", "HT", "Haiti", "HU", "Hungary", "ID", "Indonesia", "IE", "Ireland", "IL", "Israel", "IM", "Isle of Man", "IN", "India", "IO", "British Indian Ocean Territory (including Diego Garcia)", "IQ", "Iraq", "IR", "Islamic Republic of Iran", "IS", "Iceland", "IT", "Italy", "JE", "Jersey", "JM", "Jamaica", "JO", "Jordan", "JP", "Japan", "KE", "Kenya", "KG", "Kyrgyzstan", "KH", "Cambodia", "KI", "Kiribati", "KM", "Comoros", "KN", "Saint Kitts and Nevis", "KP", "Democratic People's Republic of Korea (North Korea)", "KR", "Republic of Korea (South Korea)", "KW", "Kuwait", "KY", "Cayman Islands", "KZ", "Kazakhstan", "LA", "Lao People's Democratic Republic", "LB", "Lebanon", "LC", "Saint Lucia", "LI", "Liechtenstein", "LK", "Sri Lanka", "LR", "Liberia", "LS", "Lesotho", "LT", "Lithuania", "LU", "Luxembourg", "LV", "Latvia", "LY", "Libyan Arab Jamahiriya", "MA", "Morocco", "MC", "Monaco", "MD", "Republic of Moldova", "MG", "Madagascar", "MH", "Marshall Islands", "MK", "Macedonia", "ML", "Mali", "MM", "Myanmar", "MN", "Mongolia", "MO", "Macao", "MP", "Northern Mariana Islands", "MQ", "Martinique", "MR", "Mauritania", "MS", "Montserrat", "MT", "Malta", "MU", "Mauritius", "MV", "Maldives", "MW", "Malawi", "MX", "Mexico", "MY", "Malaysia", "MZ", "Mozambique", "NA", "Namibia", "NC", "New Caledonia", "NE", "Niger", "NF", "Norfolk Island", "NG", "Nigeria", "NI", "Nicaragua", "NL", "Netherlands", "NO", "Norway", "NP", "Nepal", "NR", "Nauru", "NU", "Niue", "NZ", "New Zealand", "OM", "Oman", "PA", "Panama", "PE", "Peru", "PF", "French Polynesia (including Clipperton Island)", "PG", "Papua New Guinea", "PH", "Philippines", "PK", "Pakistan", "PL", "Poland", "PM", "Saint Pierre and Miquelon", "PN", "Pitcairn", "PR", "Puerto Rico", "PS", "Palestinian Territory, Occupied", "PT", "Portugal", "PW", "Palau", "PY", "Paraguay", "QA", "Qatar", "RE", "Reunion", "RO", "Romania", "RU", "Russian Federation", "RW", "Rwanda", "SA", "Saudi Arabia", "SB", "Solomon Islands", "SC", "Seychelles", "SD", "Sudan", "SE", "Sweden", "SG", "Singapore", "SH", "Saint Helena (including Ascension Island and Tristan da Cunha)", "SI", "Slovenia", "SJ", "Svalbard and Jan Mayen consisting of Svalbard and Jan Mayen", "SK", "Slovakia", "SL", "Sierra Leone", "SM", "San Marino", "SN", "Senegal", "SO", "Somalia", "SR", "Suriname", "ST", "Sao Tome and Principe", "SU", "Soviet Union", "SV", "El Salvador", "SY", "Syrian Arab Republic", "SZ", "Swaziland", "TC", "Turks and Caicos Islands", "TD", "Chad", "TF", "French Southern Territories", "TG", "Togo", "TH", "Thailand", "TJ", "Tajikistan", "TK", "Tokelau", "TL", "Timor-Leste (East Timor)", "TM", "Turkmenistan", "TN", "Tunisia", "TO", "Tonga", "TR", "Turkey", "TT", "Trinidad and Tobago", "TV", "Tuvalu", "TW", "Taiwan, Province of China", "TZ", "United Republic of Tanzania", "UA", "Ukraine", "UG", "Uganda", "UK", "United Kingdom", "UM", "United States Minor Outlying Islands", "US", "United States", "UY", "Uruguay", "UZ", "Uzbekistan", "VA", "Holy See (Vatican City State)", "VC", "Saint Vincent and the Grenadines", "VE", "Venezuela", "VG", "Virgin Islands, British", "VI", "Virgin Islands, U.S.", "VN", "Viet Nam", "VU", "Vanuatu", "WF", "Wallis and Futuna", "WS", "Samoa", "YE", "Yemen", "YT", "Mayotte", "ZA", "South Africa", "ZM", "Zambia", "ZW", "Zimbabwe", 0 }; for (int e = 0; countries[e].code; e++) if (!strcasecmp (countries[e].code, c)) return countries[e].country; return "Incorrect country code, try again"; }
