#include <unistd.h>#include <ctype.h>#include <stdio.h>#include <regex.h>#include <libintl.h>#include <string>#include "ycp/YCPBuiltinString.h"#include "ycp/YCPString.h"#include "ycp/YCPInteger.h"#include "ycp/YCPPath.h"#include "ycp/YCPSymbol.h"#include "ycp/YCPBoolean.h"#include "ycp/YCPVoid.h"#include "ycp/y2log.h"#include "y2string.h"#include "y2crypt.h"#include "ycp/StaticDeclaration.h"Classes | |
| struct | REG_RET |
| (regexp builtins) More... | |
Defines | |
| #define | _XOPEN_SOURCE |
| #define | _GNU_SOURCE |
| #define | ERR_MAX 80 |
| #define | SUB_MAX 10 |
| #define | ETC 0, NULL, constTypePtr(), NULL |
| #define | ETCf NULL, constTypePtr(), NULL |
Typedefs | |
| typedef struct REG_RET | Reg_Ret |
| (regexp builtins) | |
Functions | |
| static YCPValue | s_isempty (const YCPString &s) |
| static YCPValue | s_size (const YCPString &s) |
| static YCPValue | s_plus1 (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_plus2 (const YCPString &s1, const YCPInteger &i2) |
| static YCPValue | s_plus3 (const YCPString &s1, const YCPPath &p2) |
| static YCPValue | s_plus4 (const YCPString &s1, const YCPSymbol &s2) |
| static YCPValue | s_issubstring (const YCPString &target, const YCPString &sub) |
| static YCPValue | s_tohexstring1 (const YCPInteger &i) |
| static YCPValue | s_tohexstring2 (const YCPInteger &i, const YCPInteger &w) |
| static YCPValue | s_substring1 (const YCPString &s, const YCPInteger &i1) |
| static YCPValue | s_substring2 (const YCPString &s, const YCPInteger &i1, const YCPInteger &i2) |
| static YCPValue | s_lsubstring1 (const YCPString &s, const YCPInteger &i1) |
| static YCPValue | s_lsubstring2 (const YCPString &s, const YCPInteger &i1, const YCPInteger &i2) |
| static YCPValue | s_search (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_find (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_tolower (const YCPString &s) |
| static YCPValue | s_toupper (const YCPString &s) |
| static YCPValue | s_toascii (const YCPString &s) |
| static YCPValue | s_removechars (const YCPString &s, YCPString &r) |
| static YCPValue | s_filterchars (const YCPString &s, const YCPString &i) |
| static YCPValue | s_mergestring (const YCPList &l, const YCPString &s) |
| static YCPValue | s_findfirstnotof (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_findfirstof (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_findlastof (const YCPString &s1, const YCPString &s2) |
| static YCPValue | s_findlastnotof (const YCPString &s1, const YCPString &s2) |
| Reg_Ret | solve_regular_expression (const char *input, const char *pattern, const char *result) |
| static YCPValue | s_regexpmatch (const YCPString &i, const YCPString &p) |
| static YCPValue | s_regexppos (const YCPString &inp, const YCPString &pat) |
| static YCPValue | s_regexpsub (const YCPString &i, const YCPString &p, const YCPString &m) |
| static YCPValue | s_regexptokenize (const YCPString &i, const YCPString &p) |
| static YCPValue | s_tostring (const YCPValue &v) |
| static YCPValue | s_timestring (const YCPString &fmt, const YCPInteger &time, const YCPBoolean &utc_flag) |
| static YCPValue | s_crypt (const YCPString &s) |
| static YCPValue | s_cryptmd5 (const YCPString &s) |
| static YCPValue | s_cryptbigcrypt (const YCPString &original) |
| static YCPValue | s_cryptblowfish (const YCPString &original) |
| static YCPValue | s_dgettext (const YCPString &domain, const YCPString &text) |
| static YCPValue | s_dngettext (const YCPString &domain, const YCPString &singular, const YCPString &plural, const YCPInteger &count) |
| static YCPValue | s_dpgettext (const YCPString &domain, const YCPString &domain_path, const YCPString &text) |
Variables | |
| StaticDeclaration | static_declarations |
| #define _GNU_SOURCE |
| #define _XOPEN_SOURCE |
| #define ERR_MAX 80 |
Referenced by solve_regular_expression().
| #define ETC 0, NULL, constTypePtr(), NULL |
| #define ETCf NULL, constTypePtr(), NULL |
| #define SUB_MAX 10 |
Referenced by solve_regular_expression().
crypt Encrypts a string Encrypts the string UNENCRYPTED using the standard password encryption provided by the system.
| string | UNENCRYPTED |
References CRYPT, crypt_pass(), YCPElement::isNull(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
cryptbigcrypt Encrypts a string using bigcrypt Encrypts the string UNENCRYPTED using bigcrypt password encryption. The password is not truncated.
| string | UNENCRYPTED |
References BIGCRYPT, crypt_pass(), YCPElement::isNull(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
cryptblowfish Encrypts a string with blowfish Encrypts the string UNENCRYPTED using blowfish password encryption. The password is not truncated.
| string | UNENCRYPTED |
References BLOWFISH, crypt_pass(), YCPElement::isNull(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
cryptmd5 Encrypts a string using md5 Encrypts the string UNENCRYPTED using MD5 password encryption.
| string | UNENCRYPTED |
References crypt_pass(), YCPElement::isNull(), MD5, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
_(string text) -> string Translates the text using the current textdomain.
Example
_("File") -> "Soubor"
dgettext Translates the text using the given text domain Translates the text using the given text domain into the current language.
This is a special case builtin not intended for general use. See _() instead.
| string | textdomain | |
| string | text |
References YLocale::ensureBindDomain(), and YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_dngettext | ( | const YCPString & | domain, | |
| const YCPString & | singular, | |||
| const YCPString & | plural, | |||
| const YCPInteger & | count | |||
| ) | [static] |
_(string singular, string plural, integer value) -> string Translates the text using a locale-aware plural form handling and the current textdomain. The chosen form of the translation depends on the value.
Example
_("%1 File", "%1 Files", 2) -> "%1 soubory"
dngettext Translates the text using a locale-aware plural form handling Translates the text using a locale-aware plural form handling using the given textdomain.
The chosen form of the translation depend on the value.
This is a special case builtin not intended for general use. See _() instead.
| string | textdomain | |
| string | singular | |
| string | plural | |
| integer | value |
References YLocale::ensureBindDomain(), and YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_dpgettext | ( | const YCPString & | domain, | |
| const YCPString & | domain_path, | |||
| const YCPString & | text | |||
| ) | [static] |
dpgettext Translates the text using the given text domain and path Translates the text using the given text domain into the current language and path of localization . Path of localization is same than dirname in function bindtextdomain()
This is a special case builtin not intended for general use. See _() instead.
| string | textdomain | |
| string | dirname | |
| string | text |
References YLocale::bindDomainDir(), YLocale::findDomain(), and YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
filterchars Filters characters out of a String
| string | STRING | |
| string | CHARS chars to be included |
STRING by removing all characters that do not occur in CHARS.
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
find find-string Returns position of a substring
| string | STRING1 String | |
| string | STRING2 Substring |
The find function searches string for the first occurency of a specified substring (possibly a single character) and returns its starting position.
Returns the first position in STRING1 where the string STRING2 is contained in STRING1. OFFSET starts with 0.
findfirstnotof
search find ("abcdefghi", "efg") -> 4 find ("aaaaa", "z") -> -1
References YCPElement::isNull(), and s_search().
Referenced by YCPBuiltinString::YCPBuiltinString().
findfirstnotof Searches string for the first non matching chars
| string | STRING | |
| string | CHARS |
findfirstnotof function searches the first element of string that doesn't match any character stored in chars and returns its position.
STRING that is not contained in CHARS.find findfirstnotof ("abcdefghi", "abcefghi") -> 3 findfirstnotof ("aaaaa", "a") -> nil
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
findfirstof Finds position of the first matching characters in string
| string | STRING | |
| string | CHARS Characters to find |
findfirstof function searches string for the first match of any character stored in chars and returns its position.If no match is found findfirstof returns `nil'.
STRING that is contained in CHARS.find findfirstof ("abcdefghi", "cxdv") -> 2 findfirstof ("aaaaa", "z") -> nil
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
findlastnotof Searches the last element of string that doesn't match
| string | STRING | |
| string | CHARS Characters The `findlastnotof' function searches the last element of string that doesn't match any character stored in chars and returns its position. |
STRING that is NOT contained in CHARS.References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
findlastof Searches string for the last match The `findlastof' function searches string for the last match of any character stored in chars and returns its position.
| string | STRING String | |
| string | CHARS Characters to find |
STRING that is contained in CHARS.References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
isempty isempty-string Returns whether the string s is empty.
| string | s String |
ss must not be nil.isempty("") -> true isempty("test") -> false
References YCPString::isEmpty().
Referenced by YCPBuiltinString::YCPBuiltinString().
issubstring searches for a specific string within another string
| string | s String to be searched | |
| string | substring Pattern to be searched for |
substring is a substring of s.References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_lsubstring1 | ( | const YCPString & | s, | |
| const YCPInteger & | i1 | |||
| ) | [static] |
lsubstring lsubstring-rest Extracts a substring in UTF-8 encoded string
Extracts a substring of the string STRING, starting at OFFSET after the first one with length of at most LENGTH. OFFSET starts with 0. This method uses UTF-8 encoding.
| string | STRING | |
| integer | OFFSET | |
| integer | LENGTH |
References YCPElement::isNull(), utf82wchar(), wchar2utf8(), y2error, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_lsubstring2 | ( | const YCPString & | s, | |
| const YCPInteger & | i1, | |||
| const YCPInteger & | i2 | |||
| ) | [static] |
lsubstring lsubstring-length Extracts a substring in UTF-8 encoded string
Extracts a substring of the string STRING, starting at OFFSET after the first one with length of at most LENGTH. OFFSET starts with 0. This method uses UTF-8 encoding.
| string | STRING | |
| integer | OFFSET | |
| integer | LENGTH |
References YCPElement::isNull(), utf82wchar(), wchar2utf8(), y2error, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
mergestring Joins list elements with a string
| list<string> | PIECES A List of strings | |
| string | GLUE |
List elements which are not of type strings are ignored.
References YCPList::isEmpty(), YCPElement::isNull(), YCPList::size(), YCPList::value(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
string s1 + string s2 -> string Returns concatenation of s1 and s2.
Example:
"YaST" + "2" -> "YaST2"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_plus2 | ( | const YCPString & | s1, | |
| const YCPInteger & | i2 | |||
| ) | [static] |
string s1 + integer i2 -> string String and integer Concatenation
Returns concatenation of s1 and i2 after transforming i2 to a string.
Example:
"YaST" + 2 -> "YaST2"
References YCPElement::isNull(), and toString().
Referenced by YCPBuiltinString::YCPBuiltinString().
string s1 + path p2 -> string String and path Concatenation Returns concatenation of s1 and p2 after transforming p2 to a string.
Example: "YaST" + .two -> "YaST.two"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
string s1 + symbol s2 -> string String and symbol Concatenation
Returns concatenation of s1 and s2 after transforming s2 to a string AND stripping the leading backquote.
Example: "YaST" + `two -> "YaSTtwo"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
regexpmatch
Searches a string for a POSIX Extended Regular Expression match.
| string | INPUT | |
| string | PATTERN |
References REG_RET::error, REG_RET::error_str, YCPElement::isNull(), solve_regular_expression(), REG_RET::solved, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
regexppos Returns a pair with position and length of the first match.
| string | INPUT | |
| string | PATTERN |
References YCPList::add(), REG_RET::error, REG_RET::error_str, YCPElement::isNull(), REG_RET::match_str, solve_regular_expression(), REG_RET::solved, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_regexpsub | ( | const YCPString & | i, | |
| const YCPString & | p, | |||
| const YCPString & | m | |||
| ) | [static] |
regexpsub Regex Substitution
| string | INPUT | |
| string | PATTERN | |
| string | OUTPUT |
References REG_RET::error, REG_RET::error_str, YCPElement::isNull(), REG_RET::result_str, solve_regular_expression(), REG_RET::solved, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
regexptokenize Regex tokenize
| string | INPUT | |
| string | PATTERN |
If the pattern is invalid, 'nil' is returned.
Examples: // e == [ "aaabbB" ] list e = regexptokenize ("aaabbBb", "(.*[A-Z]).*");
// h == [ "aaab", "bb" ] list h = regexptokenize ("aaabbb", "(.*ab)(.*)");
// h == [] list h = regexptokenize ("aaabbb", "(.*ba).*");
// h == nil list h = regexptokenize ("aaabbb", "(.*ba).*(");
References YCPList::add(), REG_RET::error, REG_RET::error_str, YCPElement::isNull(), REG_RET::match_nb, REG_RET::match_str, solve_regular_expression(), REG_RET::solved, and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
deletechars
Removes all characters from a string
| string | STRING | |
| string | REMOVE Characters to be removed from STRING |
STRING by removing all characters that occur in string REMOVE.
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
search Returns position of a substring
| string | STRING1 String | |
| string | STRING2 Substring |
The search function searches string for the first occurency of a specified substring (possibly a single character) and returns its starting position.
Returns the first position in STRING1 where the string STRING2 is contained in STRING1. OFFSET starts with 0.
findfirstnotof
find search ("abcdefghi", "efg") -> 4 search ("aaaaa", "z") -> nil
References YCPElement::isNull().
Referenced by s_find(), and YCPBuiltinString::YCPBuiltinString().
size size-string Returns the number of characters of the string s
| string | s String |
ssize("size") -> 4
References YCPElement::isNull(), and utf82wchar().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_substring1 | ( | const YCPString & | s, | |
| const YCPInteger & | i1 | |||
| ) | [static] |
substring substring-rest Returns part of a string
| string | STRING Original String | |
| integer | OFFSET Start position integer LENGTH Length of new string |
STRING specified by the OFFSET and LENGHT parameters. OFFSET starts with 0.substring ("some text", 5) -> "text" substring ("some text", 42) -> "" substring ("some text", 5, 2) -> "te" substring ("some text", 42, 2) -> "" substring("123456789", 2, 3) -> "345"
References YCPElement::isNull(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_substring2 | ( | const YCPString & | s, | |
| const YCPInteger & | i1, | |||
| const YCPInteger & | i2 | |||
| ) | [static] |
substring substring-length Extracts a substring
Extracts a substring of the string STRING, starting at OFFSET after the first one with length of at most LENGTH. OFFSET starts with 0.
| string | STRING | |
| integer | OFFSET | |
| integer | LENGTH |
References YCPElement::isNull(), and ycp2error.
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_timestring | ( | const YCPString & | fmt, | |
| const YCPInteger & | time, | |||
| const YCPBoolean & | utc_flag | |||
| ) | [static] |
timestring Returns time string Combination of standard libc functions gmtime or localtime and strftime.
| string | FORMAT | |
| integer | TIME | |
| boolean | UTC |
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
toascii Returns characters below 0x7F included in STRING
| string | STRING |
STRING by copying each character that is below 0x7F (127).toascii ("aBë") -> "aB" toascii ("123+-abcABCöëä") -> "123+-abcABC"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_tohexstring1 | ( | const YCPInteger & | i | ) | [static] |
tohexstring tohexstring-1 Converts an integer to a hexadecimal string.
| integer | number Number |
tohexstring (31) -> "0x1f"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| static YCPValue s_tohexstring2 | ( | const YCPInteger & | i, | |
| const YCPInteger & | w | |||
| ) | [static] |
tohexstring tohexstring-2 Converts an integer to a hexadecimal string.
| integer | number Number | |
| integer | width Width |
tohexstring (31, 1) -> "0x1f" tohexstring (31, 4) -> "0x001f"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
tolower Makes a string lowercase
| string | s String |
tolower ("aBcDeF") -> "abcdef" tolower ("ABCÁÄÖČ") -> "abcÁÄÖČ"
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
tostring tostring-any Converts a value to a string.
| any | VALUE |
References YCPElement::isNull(), and YT_STRING.
Referenced by YCPBuiltinString::YCPBuiltinString().
toupper Makes a string uppercase
Returns string with all alphabetic characters converted to uppercase.
References YCPElement::isNull().
Referenced by YCPBuiltinString::YCPBuiltinString().
| Reg_Ret solve_regular_expression | ( | const char * | input, | |
| const char * | pattern, | |||
| const char * | result | |||
| ) |
References ERR_MAX, REG_RET::error, REG_RET::error_str, REG_RET::match_nb, REG_RET::match_str, REG_RET::result_str, REG_RET::solved, and SUB_MAX.
Referenced by s_regexpmatch(), s_regexppos(), s_regexpsub(), and s_regexptokenize().
1.5.9