… | |
… | |
70 | |
70 | |
71 | unix_listener::unix_listener (const char *sockname) |
71 | unix_listener::unix_listener (const char *sockname) |
72 | : accept_ev (this, &unix_listener::accept_cb) |
72 | : accept_ev (this, &unix_listener::accept_cb) |
73 | { |
73 | { |
74 | sockaddr_un sa; |
74 | sockaddr_un sa; |
75 | |
75 | |
76 | if (strlen (sockname) >= sizeof(sa.sun_path)) |
76 | if (strlen (sockname) >= sizeof(sa.sun_path)) |
77 | { |
77 | { |
78 | fputs ("socket name too long, aborting.\n", stderr); |
78 | fputs ("socket name too long, aborting.\n", stderr); |
79 | exit (EXIT_FAILURE); |
79 | exit (EXIT_FAILURE); |
80 | } |
80 | } |
… | |
… | |
161 | { |
161 | { |
162 | if (!strcmp (tok, "NEW")) |
162 | if (!strcmp (tok, "NEW")) |
163 | { |
163 | { |
164 | stringvec *argv = new stringvec; |
164 | stringvec *argv = new stringvec; |
165 | stringvec *envv = new stringvec; |
165 | stringvec *envv = new stringvec; |
166 | |
166 | |
167 | for (;;) |
167 | for (;;) |
168 | { |
168 | { |
169 | if (!recv (tok)) |
169 | if (!recv (tok)) |
170 | return err (); |
170 | return err (); |
171 | |
171 | |
… | |
… | |
191 | |
191 | |
192 | envv->push_back (0); |
192 | envv->push_back (0); |
193 | |
193 | |
194 | { |
194 | { |
195 | rxvt_term *term = new rxvt_term; |
195 | rxvt_term *term = new rxvt_term; |
196 | |
196 | |
197 | term->log_hook = &log_cb; |
197 | term->log_hook = &log_cb; |
198 | term->getfd_hook = &getfd_cb; |
198 | term->getfd_hook = &getfd_cb; |
199 | |
199 | |
200 | bool success; |
200 | bool success; |
201 | |
201 | |
202 | try |
202 | try |
203 | { |
203 | { |
204 | success = term->init (argv, envv); |
204 | success = term->init (argv, envv); |
205 | } |
205 | } |
206 | catch (const class rxvt_failure_exception &e) |
206 | catch (const class rxvt_failure_exception &e) |
… | |
… | |
244 | { |
244 | { |
245 | rxvt_log ("%s: unknown option '%s', aborting.\n", argv [0], argv [i]); |
245 | rxvt_log ("%s: unknown option '%s', aborting.\n", argv [0], argv [i]); |
246 | return EXIT_FAILURE; |
246 | return EXIT_FAILURE; |
247 | } |
247 | } |
248 | } |
248 | } |
249 | |
249 | |
250 | chdir ("/"); |
250 | chdir ("/"); |
251 | |
251 | |
252 | if (opt_opendisplay) |
252 | if (opt_opendisplay) |
253 | displays.get (getenv ("DISPLAY")); // open display and never release it |
253 | displays.get (getenv ("DISPLAY")); // open display and never release it |
254 | |
254 | |