mirror of https://github.com/davatorium/rofi.git
Fix small char s/u issue
This commit is contained in:
parent
a21f8dd179
commit
91e0f6b555
|
@ -276,59 +276,55 @@ int find_arg_uint ( const char * const key, unsigned int *val )
|
||||||
|
|
||||||
char helper_parse_char ( const char *arg )
|
char helper_parse_char ( const char *arg )
|
||||||
{
|
{
|
||||||
char retv = 0x80;
|
|
||||||
int len = strlen ( arg );
|
int len = strlen ( arg );
|
||||||
// If the length is 1, it is not escaped.
|
// If the length is 1, it is not escaped.
|
||||||
if ( len == 1 ) {
|
if ( len == 1 ) {
|
||||||
retv = arg[0];
|
return arg[0];
|
||||||
}
|
}
|
||||||
// If the length is 2 and the first character is '\', we unescape it.
|
// If the length is 2 and the first character is '\', we unescape it.
|
||||||
else if ( len == 2 && arg[0] == '\\' ) {
|
if ( len == 2 && arg[0] == '\\' ) {
|
||||||
// New line
|
// New line
|
||||||
if ( arg[1] == 'n' ) {
|
if ( arg[1] == 'n' ) {
|
||||||
retv = '\n';
|
return '\n';
|
||||||
}
|
}
|
||||||
// Bell
|
// Bell
|
||||||
else if ( arg[1] == 'a' ) {
|
else if ( arg[1] == 'a' ) {
|
||||||
retv = '\a';
|
return '\a';
|
||||||
}
|
}
|
||||||
// Backspace
|
// Backspace
|
||||||
else if ( arg[1] == 'b' ) {
|
else if ( arg[1] == 'b' ) {
|
||||||
retv = '\b';
|
return '\b';
|
||||||
}
|
}
|
||||||
// Tab
|
// Tab
|
||||||
else if ( arg[1] == 't' ) {
|
else if ( arg[1] == 't' ) {
|
||||||
retv = '\t';
|
return '\t';
|
||||||
}
|
}
|
||||||
// Vertical tab
|
// Vertical tab
|
||||||
else if ( arg[1] == 'v' ) {
|
else if ( arg[1] == 'v' ) {
|
||||||
retv = '\v';
|
return '\v';
|
||||||
}
|
}
|
||||||
// Form feed
|
// Form feed
|
||||||
else if ( arg[1] == 'f' ) {
|
else if ( arg[1] == 'f' ) {
|
||||||
retv = '\f';
|
return '\f';
|
||||||
}
|
}
|
||||||
// Carriage return
|
// Carriage return
|
||||||
else if ( arg[1] == 'r' ) {
|
else if ( arg[1] == 'r' ) {
|
||||||
retv = '\r';
|
return '\r';
|
||||||
}
|
}
|
||||||
// Forward slash
|
// Forward slash
|
||||||
else if ( arg[1] == '\\' ) {
|
else if ( arg[1] == '\\' ) {
|
||||||
retv = '\\';
|
return '\\';
|
||||||
}
|
}
|
||||||
else if ( arg[1] == '0' ) {
|
else if ( arg[1] == '0' ) {
|
||||||
retv = '\0';
|
return '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( len > 2 && arg[0] == '\\' && arg[1] == 'x' ) {
|
if ( len > 2 && arg[0] == '\\' && arg[1] == 'x' ) {
|
||||||
retv = (char) strtol ( &arg[2], NULL, 16 );
|
return (char) strtol ( &arg[2], NULL, 16 );
|
||||||
}
|
}
|
||||||
if ( (retv&0x80) != 0 ) {
|
fprintf ( stderr, "Failed to parse character string: \"%s\"\n", arg );
|
||||||
fprintf ( stderr, "Failed to parse character string: \"%s\"\n", arg );
|
// for now default to newline.
|
||||||
// for now default to newline.
|
return '\n';
|
||||||
retv = '\n';
|
|
||||||
}
|
|
||||||
return retv;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int find_arg_char ( const char * const key, char *val )
|
int find_arg_char ( const char * const key, char *val )
|
||||||
|
|
Loading…
Reference in New Issue