diff --git a/vere/main.c b/vere/main.c index 470b1fb09f..3b793462dc 100644 --- a/vere/main.c +++ b/vere/main.c @@ -222,8 +222,8 @@ _main_getopt(c3_i argc, c3_c** argv) return c3n; } - if ( u3_Host.ops_u.gen_c != 0 && ( !imp_t || u3_Host.ops_u.nuu == c3n ) ) { - fprintf(stderr, "-G only makes sense when creating a new galaxy\n"); + if ( u3_Host.ops_u.gen_c != 0 && u3_Host.ops_u.nuu == c3n ) { + fprintf(stderr, "-G only makes sense when bootstrapping a new instance\n"); return c3n; } diff --git a/vere/sist.c b/vere/sist.c index 52a4781798..d9ec09b46a 100644 --- a/vere/sist.c +++ b/vere/sist.c @@ -1386,13 +1386,19 @@ u3_sist_boot(void) u3z(whu); } else { - if ( 0 == u3_Host.ops_u.key_c ) { + u3_noun des = u3_none; + + if ( 0 != u3_Host.ops_u.key_c ) { + des = u3m_file(u3_Host.ops_u.key_c); + } + else if ( 0 != u3_Host.ops_u.gen_c ) { + des = u3i_string(u3_Host.ops_u.gen_c); + } + else { // XX print nice error u3_lo_bail(); } - u3_noun des = u3m_file(u3_Host.ops_u.key_c); - u3A->fak = c3n; pig = _sist_dawn(u3k(des)); who = u3k(u3h(u3h(u3t(pig))));