Lines 48-54
static void register_stuff(struct context *ctx) {
Link Here
|
48 |
} |
48 |
} |
49 |
|
49 |
|
50 |
if (avahi_entry_group_is_empty(ctx->group)) { |
50 |
if (avahi_entry_group_is_empty(ctx->group)) { |
51 |
char cpus[32], machine[64] = "cc_machine=", version[64] = "cc_version=", *m, *v; |
51 |
char profile[128], cpus[32], machine[64] = "cc_machine=", version[64] = "cc_version=", *m, *v; |
52 |
|
52 |
|
53 |
snprintf(cpus, sizeof(cpus), "cpus=%i", ctx->n_cpus); |
53 |
snprintf(cpus, sizeof(cpus), "cpus=%i", ctx->n_cpus); |
54 |
v = dcc_get_gcc_version(version+11, sizeof(version)-11); |
54 |
v = dcc_get_gcc_version(version+11, sizeof(version)-11); |
Lines 77-101
static void register_stuff(struct context *ctx) {
Link Here
|
77 |
goto fail; |
77 |
goto fail; |
78 |
} |
78 |
} |
79 |
|
79 |
|
80 |
if (v && m) { |
80 |
while (dcc_get_gcc_profile(profile, sizeof(profile))) { |
81 |
char stype[128]; |
81 |
v = dcc_get_gcc_version_from_profile(version+11, sizeof(version)-11, profile); |
82 |
|
82 |
m = dcc_get_gcc_machine_from_profile(machine+11, sizeof(machine)-11, profile); |
83 |
dcc_make_dnssd_subtype(stype, sizeof(stype), v, m); |
83 |
|
84 |
|
84 |
if (v && m) { |
85 |
if (avahi_entry_group_add_service_subtype( |
85 |
char stype[128]; |
86 |
ctx->group, |
86 |
|
87 |
AVAHI_IF_UNSPEC, |
87 |
dcc_make_dnssd_subtype(stype, sizeof(stype), v, m); |
88 |
AVAHI_PROTO_UNSPEC, |
88 |
|
89 |
0, |
89 |
if (avahi_entry_group_add_service_subtype( |
90 |
ctx->name, |
90 |
ctx->group, |
91 |
DCC_DNS_SERVICE_TYPE, |
91 |
AVAHI_IF_UNSPEC, |
92 |
NULL, |
92 |
AVAHI_PROTO_UNSPEC, |
93 |
stype) < 0) { |
93 |
0, |
94 |
rs_log_crit("Failed to add service: %s\n", avahi_strerror(avahi_client_errno(ctx->client))); |
94 |
ctx->name, |
95 |
goto fail; |
95 |
DCC_DNS_SERVICE_TYPE, |
96 |
} |
96 |
NULL, |
97 |
} else |
97 |
stype) < 0) { |
98 |
rs_log_warning("Failed to determine CC version, not registering DNS-SD service subtype!"); |
98 |
rs_log_crit("Failed to add service: %s\n", avahi_strerror(avahi_client_errno(ctx->client))); |
|
|
99 |
goto fail; |
100 |
} |
101 |
} else |
102 |
rs_log_warning("Failed to get cc machine and version, not registering DNS-SD service subtype for profile: %s!", profile); |
103 |
} |
99 |
|
104 |
|
100 |
if (avahi_entry_group_commit(ctx->group) < 0) { |
105 |
if (avahi_entry_group_commit(ctx->group) < 0) { |
101 |
rs_log_crit("Failed to commit entry group: %s\n", avahi_strerror(avahi_client_errno(ctx->client))); |
106 |
rs_log_crit("Failed to commit entry group: %s\n", avahi_strerror(avahi_client_errno(ctx->client))); |