aboutsummaryrefslogtreecommitdiffhomepage
path: root/env.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-01-20 11:24:43 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-01-20 11:24:43 -0800
commit7e486e3b5c5e1a3a6936322fde487260d3058042 (patch)
tree4be5dc184433a78827f6f5707aae9d40a68e9cda /env.cpp
parent3d8face1f902bd51146c64f4df57a1de7049fd6d (diff)
More work towards instanced parser
Diffstat (limited to 'env.cpp')
-rw-r--r--env.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/env.cpp b/env.cpp
index f9de3344..d2d1aab0 100644
--- a/env.cpp
+++ b/env.cpp
@@ -247,11 +247,7 @@ static void clear_hash_entry( void *key, void *data )
*/
static void start_fishd()
{
- string_buffer_t cmd;
- struct passwd *pw;
-
- sb_init( &cmd );
- pw = getpwuid(getuid());
+ struct passwd *pw = getpwuid(getuid());
debug( 3, L"Spawning new copy of fishd" );
@@ -261,12 +257,9 @@ static void start_fishd()
return;
}
- sb_printf( &cmd, FISHD_CMD, pw->pw_name );
-
- eval( (wchar_t *)cmd.buff,
- 0,
- TOP );
- sb_destroy( &cmd );
+ wcstring cmd = format_string(FISHD_CMD, pw->pw_name);
+ parser_t parser(PARSER_TYPE_GENERAL);
+ parser.eval( cmd.c_str(), 0, TOP );
}
/**