- Fixes uncovered with the format attribute to
opal_output and opal_output_verbose This commit was SVN r13371.
Этот коммит содержится в:
родитель
01ba38661d
Коммит
061ba05439
@ -186,8 +186,8 @@ mca_common_sm_mmap_t* mca_common_sm_mmap_init(size_t size, char *file_name,
|
|||||||
ORTE_RML_TAG_SM_BACK_FILE_CREATED,0);
|
ORTE_RML_TAG_SM_BACK_FILE_CREATED,0);
|
||||||
if( rc < 0 ) {
|
if( rc < 0 ) {
|
||||||
opal_output(0,
|
opal_output(0,
|
||||||
"mca_common_sm_mmap_init: orte_rml.send failed to %l with errno=%d\n",
|
"mca_common_sm_mmap_init: orte_rml.send failed to %ld with errno=%d\n",
|
||||||
p,errno);
|
p, errno);
|
||||||
goto return_error;
|
goto return_error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,8 +205,8 @@ mca_common_sm_mmap_t* mca_common_sm_mmap_init(size_t size, char *file_name,
|
|||||||
rc=orte_rml.recv(&(procs[0]->proc_name),iov,2,
|
rc=orte_rml.recv(&(procs[0]->proc_name),iov,2,
|
||||||
ORTE_RML_TAG_SM_BACK_FILE_CREATED,0);
|
ORTE_RML_TAG_SM_BACK_FILE_CREATED,0);
|
||||||
if( rc < 0 ) {
|
if( rc < 0 ) {
|
||||||
opal_output(0, "mca_common_sm_mmap_init: orte_rml.recv failed from %l with errno=%d\n",
|
opal_output(0, "mca_common_sm_mmap_init: orte_rml.recv failed from %ld with errno=%d\n",
|
||||||
0,errno);
|
0, errno);
|
||||||
goto return_error;
|
goto return_error;
|
||||||
}
|
}
|
||||||
/* check to see if file inited correctly */
|
/* check to see if file inited correctly */
|
||||||
|
@ -540,7 +540,7 @@ ompi_osc_pt2pt_passive_lock(ompi_osc_pt2pt_module_t *module,
|
|||||||
send_ack = true;
|
send_ack = true;
|
||||||
} else {
|
} else {
|
||||||
opal_output_verbose(50, ompi_osc_base_output,
|
opal_output_verbose(50, ompi_osc_base_output,
|
||||||
"queuing lock request from %d (%d)",
|
"queuing lock request from %d (%d) lock_type:%d",
|
||||||
module->p2p_comm->c_my_rank, origin, lock_type);
|
module->p2p_comm->c_my_rank, origin, lock_type);
|
||||||
new_pending = OBJ_NEW(ompi_osc_pt2pt_pending_lock_t);
|
new_pending = OBJ_NEW(ompi_osc_pt2pt_pending_lock_t);
|
||||||
new_pending->proc = proc;
|
new_pending->proc = proc;
|
||||||
|
@ -578,7 +578,7 @@ ompi_osc_rdma_passive_lock(ompi_osc_rdma_module_t *module,
|
|||||||
send_ack = true;
|
send_ack = true;
|
||||||
} else {
|
} else {
|
||||||
opal_output_verbose(50, ompi_osc_base_output,
|
opal_output_verbose(50, ompi_osc_base_output,
|
||||||
"queuing lock request from %d (%d)",
|
"queuing lock request from %d (%d) lock_type:%d",
|
||||||
module->p2p_comm->c_my_rank, origin, lock_type);
|
module->p2p_comm->c_my_rank, origin, lock_type);
|
||||||
new_pending = OBJ_NEW(ompi_osc_rdma_pending_lock_t);
|
new_pending = OBJ_NEW(ompi_osc_rdma_pending_lock_t);
|
||||||
new_pending->proc = proc;
|
new_pending->proc = proc;
|
||||||
|
@ -173,7 +173,7 @@ int mca_pml_dr_add_procs(ompi_proc_t** procs, size_t nprocs)
|
|||||||
endpoint = OBJ_NEW(mca_pml_dr_endpoint_t);
|
endpoint = OBJ_NEW(mca_pml_dr_endpoint_t);
|
||||||
endpoint->proc_ompi = procs[i];
|
endpoint->proc_ompi = procs[i];
|
||||||
procs[i]->proc_pml = (struct mca_pml_base_endpoint_t*) endpoint;
|
procs[i]->proc_pml = (struct mca_pml_base_endpoint_t*) endpoint;
|
||||||
MCA_PML_DR_DEBUG(10, (0, "%s:%d: adding endpoint 0x%08x to proc_pml 0x%08x\n",
|
MCA_PML_DR_DEBUG(10, (0, "%s:%d: adding endpoint %p to proc_pml %p\n",
|
||||||
__FILE__, __LINE__, endpoint, procs[i]));
|
__FILE__, __LINE__, endpoint, procs[i]));
|
||||||
|
|
||||||
/* this won't work for comm spawn and other dynamic
|
/* this won't work for comm spawn and other dynamic
|
||||||
|
@ -113,8 +113,8 @@ void mca_pml_dr_recv_frag_callback(
|
|||||||
(btl->btl_flags & MCA_BTL_FLAGS_NEED_CSUM);
|
(btl->btl_flags & MCA_BTL_FLAGS_NEED_CSUM);
|
||||||
|
|
||||||
if(segments->seg_len < sizeof(mca_pml_dr_common_hdr_t)) {
|
if(segments->seg_len < sizeof(mca_pml_dr_common_hdr_t)) {
|
||||||
MCA_PML_DR_DEBUG(0,(0, "%s:%d: wtf? %d\n",
|
MCA_PML_DR_DEBUG(0,(0, "%s:%d: wtf? segments->seg_len:%d < sizeof(mca_pml_dr_common_hdr_t):%d\n",
|
||||||
__FILE__, __LINE__));
|
__FILE__, __LINE__, segments->seg_len, sizeof(mca_pml_dr_common_hdr_t)));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -969,7 +969,7 @@ rematch:
|
|||||||
frag->request=match;
|
frag->request=match;
|
||||||
match->req_proc = proc;
|
match->req_proc = proc;
|
||||||
match->req_endpoint = (mca_pml_dr_endpoint_t*)proc->ompi_proc->proc_pml;
|
match->req_endpoint = (mca_pml_dr_endpoint_t*)proc->ompi_proc->proc_pml;
|
||||||
MCA_PML_DR_DEBUG(10, (0, "%s:%d: adding endpoint 0x%08x match 0x%08x\n",
|
MCA_PML_DR_DEBUG(10, (0, "%s:%d: adding endpoint %p match %p\n",
|
||||||
__FILE__, __LINE__, proc->ompi_proc->proc_pml, match->req_endpoint));
|
__FILE__, __LINE__, proc->ompi_proc->proc_pml, match->req_endpoint));
|
||||||
|
|
||||||
/* add this fragment descriptor to the list of
|
/* add this fragment descriptor to the list of
|
||||||
|
@ -69,7 +69,7 @@ static void mca_pml_dr_vfrag_wdog_timeout(int fd, short event, void* data)
|
|||||||
mca_pml_dr_vfrag_t* vfrag = (mca_pml_dr_vfrag_t*) data;
|
mca_pml_dr_vfrag_t* vfrag = (mca_pml_dr_vfrag_t*) data;
|
||||||
mca_pml_dr_send_request_t* sendreq = (mca_pml_dr_send_request_t*)vfrag->vf_send.pval;
|
mca_pml_dr_send_request_t* sendreq = (mca_pml_dr_send_request_t*)vfrag->vf_send.pval;
|
||||||
|
|
||||||
MCA_PML_DR_DEBUG(0,(0, "%s:%d:%s: wdog timeout: 0x%08x vid: %d",
|
MCA_PML_DR_DEBUG(0,(0, "%s:%d:%s: wdog timeout: %p vid: %d",
|
||||||
__FILE__, __LINE__, __func__, vfrag, vfrag->vf_id));
|
__FILE__, __LINE__, __func__, vfrag, vfrag->vf_id));
|
||||||
|
|
||||||
/* update pending counts */
|
/* update pending counts */
|
||||||
@ -113,7 +113,7 @@ static void mca_pml_dr_vfrag_wdog_timeout(int fd, short event, void* data)
|
|||||||
static void mca_pml_dr_vfrag_ack_timeout(int fd, short event, void* data)
|
static void mca_pml_dr_vfrag_ack_timeout(int fd, short event, void* data)
|
||||||
{
|
{
|
||||||
mca_pml_dr_vfrag_t* vfrag = (mca_pml_dr_vfrag_t*) data;
|
mca_pml_dr_vfrag_t* vfrag = (mca_pml_dr_vfrag_t*) data;
|
||||||
MCA_PML_DR_DEBUG(0,(0, "%s:%d:%s: ack timeout: %0x08x",
|
MCA_PML_DR_DEBUG(0,(0, "%s:%d:%s: ack timeout: %p",
|
||||||
__FILE__, __LINE__, __func__, vfrag));
|
__FILE__, __LINE__, __func__, vfrag));
|
||||||
|
|
||||||
/* stop ack timer */
|
/* stop ack timer */
|
||||||
|
@ -261,7 +261,7 @@ int mca_topo_base_comm_select (struct ompi_communicator_t *comm,
|
|||||||
"select: query returned failure");
|
"select: query returned failure");
|
||||||
} else {
|
} else {
|
||||||
opal_output_verbose(10, mca_topo_base_output,
|
opal_output_verbose(10, mca_topo_base_output,
|
||||||
"select: query returned priority &d",
|
"select: query returned priority %d",
|
||||||
priority);
|
priority);
|
||||||
/*
|
/*
|
||||||
* is this the best component we have found till now?
|
* is this the best component we have found till now?
|
||||||
|
@ -183,12 +183,12 @@ static void find_dyn_components(const char *path, const char *type_name,
|
|||||||
if (NULL == name) {
|
if (NULL == name) {
|
||||||
params.name[0] = '\0';
|
params.name[0] = '\0';
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: looking for all dynamic %s MCA components",
|
opal_output_verbose(40, 0, "mca: base: component_find: looking for all dynamic %s MCA components",
|
||||||
type_name, NULL);
|
type_name);
|
||||||
} else {
|
} else {
|
||||||
strcpy(params.name, name);
|
strcpy(params.name, name);
|
||||||
opal_output_verbose(40, 0,
|
opal_output_verbose(40, 0,
|
||||||
"mca: base: component_find: looking for dynamic %s MCA component named \"%s\"",
|
"mca: base: component_find: looking for dynamic %s MCA component named \"%s\"",
|
||||||
type_name, name, NULL);
|
type_name, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If path is NULL, iterate over the set of directories specified by
|
/* If path is NULL, iterate over the set of directories specified by
|
||||||
@ -341,15 +341,15 @@ static int open_component(component_file_item_t *target_file,
|
|||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: examining dyanmic %s MCA component \"%s\"",
|
opal_output_verbose(40, 0, "mca: base: component_find: examining dyanmic %s MCA component \"%s\"",
|
||||||
target_file->type, target_file->name, NULL);
|
target_file->type, target_file->name);
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: %s", target_file->filename, NULL);
|
opal_output_verbose(40, 0, "mca: base: component_find: %s", target_file->filename);
|
||||||
param = mca_base_param_find("mca", NULL, "component_show_load_errors");
|
param = mca_base_param_find("mca", NULL, "component_show_load_errors");
|
||||||
mca_base_param_lookup_int(param, &show_errors);
|
mca_base_param_lookup_int(param, &show_errors);
|
||||||
|
|
||||||
/* Was this component already loaded (e.g., via dependency)? */
|
/* Was this component already loaded (e.g., via dependency)? */
|
||||||
|
|
||||||
if (LOADED == target_file->status) {
|
if (LOADED == target_file->status) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: already loaded (ignored)", NULL);
|
opal_output_verbose(40, 0, "mca: base: component_find: already loaded (ignored)");
|
||||||
return OPAL_SUCCESS;
|
return OPAL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +365,7 @@ static int open_component(component_file_item_t *target_file,
|
|||||||
mitem = (mca_base_component_list_item_t *) cur;
|
mitem = (mca_base_component_list_item_t *) cur;
|
||||||
if (0 == strcmp(mitem->cli_component->mca_type_name, target_file->type) &&
|
if (0 == strcmp(mitem->cli_component->mca_type_name, target_file->type) &&
|
||||||
0 == strcmp(mitem->cli_component->mca_component_name, target_file->name)) {
|
0 == strcmp(mitem->cli_component->mca_component_name, target_file->name)) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: already loaded (ignored)", NULL);
|
opal_output_verbose(40, 0, "mca: base: component_find: already loaded (ignored)");
|
||||||
target_file->status = FAILED_TO_LOAD;
|
target_file->status = FAILED_TO_LOAD;
|
||||||
return OPAL_ERR_BAD_PARAM;
|
return OPAL_ERR_BAD_PARAM;
|
||||||
}
|
}
|
||||||
@ -392,7 +392,7 @@ static int open_component(component_file_item_t *target_file,
|
|||||||
target_file->type, target_file->name, err);
|
target_file->type, target_file->name, err);
|
||||||
}
|
}
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: unable to open %s: %s (ignored)",
|
opal_output_verbose(40, 0, "mca: base: component_find: unable to open %s: %s (ignored)",
|
||||||
target_file->filename, err, NULL);
|
target_file->filename, err);
|
||||||
free(err);
|
free(err);
|
||||||
target_file->status = FAILED_TO_LOAD;
|
target_file->status = FAILED_TO_LOAD;
|
||||||
free_dependency_list(&dependencies);
|
free_dependency_list(&dependencies);
|
||||||
@ -427,11 +427,11 @@ static int open_component(component_file_item_t *target_file,
|
|||||||
if (0 != show_errors) {
|
if (0 != show_errors) {
|
||||||
opal_output(0, "mca: base: component_find: \"%s\" does not appear to be a valid "
|
opal_output(0, "mca: base: component_find: \"%s\" does not appear to be a valid "
|
||||||
"%s MCA dynamic component (ignored)",
|
"%s MCA dynamic component (ignored)",
|
||||||
target_file->basename, target_file->type, NULL);
|
target_file->basename, target_file->type);
|
||||||
}
|
}
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: \"%s\" does not appear to be a valid "
|
opal_output_verbose(40, 0, "mca: base: component_find: \"%s\" does not appear to be a valid "
|
||||||
"%s MCA dynamic component (ignored)",
|
"%s MCA dynamic component (ignored)",
|
||||||
target_file->basename, target_file->type, NULL);
|
target_file->basename, target_file->type);
|
||||||
free(mitem);
|
free(mitem);
|
||||||
free(struct_name);
|
free(struct_name);
|
||||||
lt_dlclose(component_handle);
|
lt_dlclose(component_handle);
|
||||||
@ -464,7 +464,7 @@ static int open_component(component_file_item_t *target_file,
|
|||||||
OBJ_DESTRUCT(&dependencies);
|
OBJ_DESTRUCT(&dependencies);
|
||||||
|
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: opened dynamic %s MCA component \"%s\"",
|
opal_output_verbose(40, 0, "mca: base: component_find: opened dynamic %s MCA component \"%s\"",
|
||||||
target_file->type, target_file->name, NULL);
|
target_file->type, target_file->name);
|
||||||
target_file->status = LOADED;
|
target_file->status = LOADED;
|
||||||
|
|
||||||
/* All done */
|
/* All done */
|
||||||
@ -510,7 +510,7 @@ static int check_ompi_info(component_file_item_t *target_file,
|
|||||||
them. Return failure upon the first component that fails to
|
them. Return failure upon the first component that fails to
|
||||||
load. */
|
load. */
|
||||||
|
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: opening ompi_info file: %s", depname, NULL);
|
opal_output_verbose(40, 0, "mca: base: component_find: opening ompi_info file: %s", depname);
|
||||||
while (NULL != fgets(buffer, BUFSIZ, fp)) {
|
while (NULL != fgets(buffer, BUFSIZ, fp)) {
|
||||||
|
|
||||||
/* Perl chomp */
|
/* Perl chomp */
|
||||||
@ -553,7 +553,7 @@ static int check_ompi_info(component_file_item_t *target_file,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: ompi_info file closed (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: ompi_info file closed (%s)",
|
||||||
target_file->basename, NULL);
|
target_file->basename);
|
||||||
|
|
||||||
/* All done -- all depenencies satisfied */
|
/* All done -- all depenencies satisfied */
|
||||||
|
|
||||||
@ -617,8 +617,7 @@ static int check_dependency(char *line, component_file_item_t *target_file,
|
|||||||
|
|
||||||
else if (mitem == target_file) {
|
else if (mitem == target_file) {
|
||||||
opal_output_verbose(40, 0,
|
opal_output_verbose(40, 0,
|
||||||
"mca: base: component_find: component depends on itself (ignored dependency)",
|
"mca: base: component_find: component depends on itself (ignored dependency)");
|
||||||
NULL);
|
|
||||||
happiness = true;
|
happiness = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -628,7 +627,7 @@ static int check_dependency(char *line, component_file_item_t *target_file,
|
|||||||
|
|
||||||
else if (LOADED == mitem->status) {
|
else if (LOADED == mitem->status) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: dependency has already been loaded (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: dependency has already been loaded (%s)",
|
||||||
mitem->basename, NULL);
|
mitem->basename);
|
||||||
happiness = true;
|
happiness = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -639,7 +638,7 @@ static int check_dependency(char *line, component_file_item_t *target_file,
|
|||||||
|
|
||||||
else if (FAILED_TO_LOAD == mitem->status) {
|
else if (FAILED_TO_LOAD == mitem->status) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: dependency previously failed to load (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: dependency previously failed to load (%s)",
|
||||||
mitem->basename, NULL);
|
mitem->basename);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -647,7 +646,7 @@ static int check_dependency(char *line, component_file_item_t *target_file,
|
|||||||
|
|
||||||
else if (CHECKING_CYCLE == mitem->status) {
|
else if (CHECKING_CYCLE == mitem->status) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: found cycle! (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: found cycle! (%s)",
|
||||||
mitem->basename, NULL);
|
mitem->basename);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -656,12 +655,12 @@ static int check_dependency(char *line, component_file_item_t *target_file,
|
|||||||
|
|
||||||
else if (UNVISITED == mitem->status) {
|
else if (UNVISITED == mitem->status) {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: loading dependency (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: loading dependency (%s)",
|
||||||
mitem->basename, NULL);
|
mitem->basename);
|
||||||
if (OPAL_SUCCESS == open_component(target_file, found_components)) {
|
if (OPAL_SUCCESS == open_component(target_file, found_components)) {
|
||||||
happiness = true;
|
happiness = true;
|
||||||
} else {
|
} else {
|
||||||
opal_output_verbose(40, 0, "mca: base: component_find: dependency failed to load (%s)",
|
opal_output_verbose(40, 0, "mca: base: component_find: dependency failed to load (%s)",
|
||||||
mitem->basename, NULL);
|
mitem->basename);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -124,9 +124,9 @@ int orte_pointer_array_add(orte_std_cntr_t *location, orte_pointer_array_t *tabl
|
|||||||
|
|
||||||
if (0) {
|
if (0) {
|
||||||
opal_output(0,"orte_pointer_array_add: IN: "
|
opal_output(0,"orte_pointer_array_add: IN: "
|
||||||
" table %p (size %ld, lowest free %ld, number free %ld)"
|
" table %p (size %d, lowest free %d, number free %d)"
|
||||||
" ptr = %p\n",
|
" ptr = %p\n",
|
||||||
table, table->size, table->lowest_free, table->number_free,
|
(void*)table, table->size, table->lowest_free, table->number_free,
|
||||||
ptr);
|
ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,9 +172,9 @@ int orte_pointer_array_add(orte_std_cntr_t *location, orte_pointer_array_t *tabl
|
|||||||
|
|
||||||
if (0) {
|
if (0) {
|
||||||
opal_output(0,"orte_pointer_array_add: OUT: "
|
opal_output(0,"orte_pointer_array_add: OUT: "
|
||||||
" table %p (size %ld, lowest free %ld, number free %ld)"
|
" table %p (size %d, lowest free %d, number free %d)"
|
||||||
" addr[%d] = %p\n",
|
" addr[%d] = %p\n",
|
||||||
table, table->size, table->lowest_free, table->number_free,
|
(void*)table, table->size, table->lowest_free, table->number_free,
|
||||||
element_index, ptr);
|
element_index, ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,6 +335,7 @@ static int mca_oob_tcp_peer_try_connect(mca_oob_tcp_peer_t* peer)
|
|||||||
ORTE_NAME_ARGS(&(peer->peer_name)),
|
ORTE_NAME_ARGS(&(peer->peer_name)),
|
||||||
inet_ntoa(inaddr.sin_addr),
|
inet_ntoa(inaddr.sin_addr),
|
||||||
ntohs(inaddr.sin_port),
|
ntohs(inaddr.sin_port),
|
||||||
|
opal_strerror(rc),
|
||||||
rc);
|
rc);
|
||||||
}
|
}
|
||||||
} while(peer->peer_addr->addr_next != 0);
|
} while(peer->peer_addr->addr_next != 0);
|
||||||
@ -593,7 +594,7 @@ static int mca_oob_tcp_peer_recv_connect_ack(mca_oob_tcp_peer_t* peer)
|
|||||||
/* compare the peers name to the expected value */
|
/* compare the peers name to the expected value */
|
||||||
if(memcmp(&peer->peer_name, &hdr.msg_src, sizeof(orte_process_name_t)) != 0) {
|
if(memcmp(&peer->peer_name, &hdr.msg_src, sizeof(orte_process_name_t)) != 0) {
|
||||||
opal_output(0, "[%lu,%lu,%lu]-[%lu,%lu,%lu] mca_oob_tcp_peer_recv_connect_ack: "
|
opal_output(0, "[%lu,%lu,%lu]-[%lu,%lu,%lu] mca_oob_tcp_peer_recv_connect_ack: "
|
||||||
"received unexpected process identifier [%d,%d,%d]\n",
|
"received unexpected process identifier [%ld,%ld,%ld]\n",
|
||||||
ORTE_NAME_ARGS(orte_process_info.my_name),
|
ORTE_NAME_ARGS(orte_process_info.my_name),
|
||||||
ORTE_NAME_ARGS(&(peer->peer_name)),
|
ORTE_NAME_ARGS(&(peer->peer_name)),
|
||||||
ORTE_NAME_ARGS(&(hdr.msg_src)));
|
ORTE_NAME_ARGS(&(hdr.msg_src)));
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user