|
Lines 39-45
Link Here
|
| 39 |
|
39 |
|
| 40 |
int check_tmp_dir(const char *tmp_dir); |
40 |
int check_tmp_dir(const char *tmp_dir); |
| 41 |
int create_link(const char *file, const char *tmp_dir); |
41 |
int create_link(const char *file, const char *tmp_dir); |
| 42 |
int build_link(const char *tmp_prefix, const char *kde_prefix); |
42 |
int build_link(const char *tmp_prefix, const char *kde_prefix, int kdehostname); |
| 43 |
|
43 |
|
| 44 |
int check_tmp_dir(const char *tmp_dir) |
44 |
int check_tmp_dir(const char *tmp_dir) |
| 45 |
{ |
45 |
{ |
|
Lines 89-95
Link Here
|
| 89 |
} |
89 |
} |
| 90 |
|
90 |
|
| 91 |
|
91 |
|
| 92 |
int build_link(const char *tmp_prefix, const char *kde_prefix) |
92 |
int build_link(const char *tmp_prefix, const char *kde_prefix, int kdehostname) |
| 93 |
{ |
93 |
{ |
| 94 |
struct passwd *pw_ent; |
94 |
struct passwd *pw_ent; |
| 95 |
char kde_tmp_dir[PATH_MAX+1]; |
95 |
char kde_tmp_dir[PATH_MAX+1]; |
|
Lines 156-165
Link Here
|
| 156 |
} |
156 |
} |
| 157 |
|
157 |
|
| 158 |
strncat(kde_tmp_dir, kde_prefix, PATH_MAX - strlen(kde_tmp_dir)); |
158 |
strncat(kde_tmp_dir, kde_prefix, PATH_MAX - strlen(kde_tmp_dir)); |
| 159 |
if (gethostname(kde_tmp_dir+strlen(kde_tmp_dir), PATH_MAX - strlen(kde_tmp_dir) - 1) != 0) |
159 |
|
|
|
160 |
if( kdehostname ) |
| 161 |
{ |
| 162 |
if( getenv("KDESYSTEMHOSTNAME")) |
| 163 |
strncat(kde_tmp_dir+strlen(kde_tmp_dir), getenv("KDESYSTEMHOSTNAME"), PATH_MAX - strlen(kde_tmp_dir) - 1); |
| 164 |
else |
| 165 |
return 0; |
| 166 |
} |
| 167 |
else |
| 160 |
{ |
168 |
{ |
| 161 |
perror("Aborting. Could not determine hostname: "); |
169 |
if (gethostname(kde_tmp_dir+strlen(kde_tmp_dir), PATH_MAX - strlen(kde_tmp_dir) - 1) != 0) |
| 162 |
exit(255); |
170 |
{ |
|
|
171 |
perror("Could not determine hostname: "); |
| 172 |
return 1; |
| 173 |
} |
| 163 |
} |
174 |
} |
| 164 |
kde_tmp_dir[sizeof(kde_tmp_dir)-1] = '\0'; |
175 |
kde_tmp_dir[sizeof(kde_tmp_dir)-1] = '\0'; |
| 165 |
|
176 |
|
|
Lines 266-272
Link Here
|
| 266 |
kde_prefix = "/cache-"; |
277 |
kde_prefix = "/cache-"; |
| 267 |
} |
278 |
} |
| 268 |
|
279 |
|
| 269 |
res = build_link(tmp_prefix, kde_prefix); |
280 |
res = build_link(tmp_prefix, kde_prefix, 1); |
|
|
281 |
if( !build_link(tmp_prefix, kde_prefix, 0)) |
| 282 |
res = 1; |
| 270 |
|
283 |
|
| 271 |
free(tmp_prefix); |
284 |
free(tmp_prefix); |
| 272 |
|
285 |
|