diff --git a/src/sbbs3/semfile.c b/src/sbbs3/semfile.c index 07f065273fcc55952756e7d6da21c2f8ab76158f..4396e7d5bbff80d3ac5e2971f76a5d378e57d35d 100644 --- a/src/sbbs3/semfile.c +++ b/src/sbbs3/semfile.c @@ -76,8 +76,9 @@ char* DLLCALL semfile_list_check(time_t* t, link_list_t* filelist) void DLLCALL semfile_list_init(link_list_t* filelist, const char* parent, const char* action, const char* service) { - char path[MAX_PATH+1]; - char hostname[128]; + char path[MAX_PATH+1]; + char hostname[128]; + char* p; listInit(filelist,0); SAFEPRINTF2(path,"%s%s",parent,action); @@ -89,6 +90,13 @@ void DLLCALL semfile_list_init(link_list_t* filelist, const char* parent, listPushNodeString(filelist,path); SAFEPRINTF4(path,"%s%s.%s.%s",parent,action,hostname,service); listPushNodeString(filelist,path); + if((p=strchr(hostname,'.'))!=NULL) { + *p=0; + SAFEPRINTF3(path,"%s%s.%s",parent,action,hostname); + listPushNodeString(filelist,path); + SAFEPRINTF4(path,"%s%s.%s.%s",parent,action,hostname,service); + listPushNodeString(filelist,path); + } } }