linux - Does struct hostent have a field "h_addr"? -


मुझे निम्न कोड स्नैपशॉट का सामना करना पड़ा:

  struct hostent * hp; Hp = my_gethostbyname (स्थानीयहोस्ट); यदि (एचपी == नल) {ls_syslog (LOG_ERR, I18N_FUNC_FAIL, fname, "my_gethostbyname ()"); वापसी -1; } Strcpy (स्थानीयहोस्ट, एचपी- & gt; एच_एनए); मेम्क्पी (& amp; एडीआर, एचपी- & gt; एचएडीडीआर, एचपी- & gt; एच_ लैंघ);   

मैं पिछले वक्तव्य से उलझन में हूं, संरचना होस्टेंट की घोषणा इस तरह की है:

  struct hostent {char * h_name; / * होस्ट का आधिकारिक नाम * / चार ** एच_लिअज़; / * उपनाम सूची * / इंट h_addrtype; / * होस्ट पता प्रकार * / int h_length; / * पते की लंबाई * / चार ** h_addr_list; / * पते की सूची * /};   

इसमें "h_addr" का नाम नहीं है, लेकिन कोड संकलित कर सकता है, क्या कोई मुझे बता सकता है कि क्यों? धन्यवाद।

आपने इसके नीचे यह थोड़ा सही छोड़ा:

  # पिछली संगतता * /   

के लिए h_addr h_addr_list [0] / * को परिभाषित करें, तो नहीं, कोई समस्या नहीं है।

Comments