/* NOTE: closes STDIN */ static void TEST_CORE_GetUsername(void) { static const char* null = #ifdef NCBI_OS_MSWIN "NUL" #else "/dev/null" #endif /*NCBI_OS_MSWIN*/ ; char buffer[512]; const char* temp = CORE_GetUsername(buffer, sizeof(buffer)); char* user = temp && *temp ? strdup(temp) : 0; printf("Username = %s%s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">", !temp ^ !user ? ", error!" : ""); verify(freopen(null, "r", stdin)); temp = CORE_GetUsername(buffer, sizeof(buffer)); printf("Username = %s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">"); if (temp && !*temp) temp = 0; assert((!temp && !user) || ( temp && user && strcasecmp(temp, user) == 0)); if (user) free(user); }
/* NOTE: closes STDIN */ static void TEST_CORE_GetUsername(void) { static const char* null = #ifdef NCBI_OS_MSWIN "NUL" #else "/dev/null" #endif /*NCBI_OS_MSWIN*/ ; char buffer[512]; const char* temp = CORE_GetUsername(buffer, sizeof(buffer)); char* user = temp && *temp ? strdup(temp) : 0; printf("Username = %s%s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">", !temp ^ !user ? ", error!" : ""); temp = CORE_GetUsernameEx(buffer, sizeof(buffer), eCORE_UsernameReal); printf("Username(Real) = %s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">"); temp = CORE_GetUsernameEx(buffer, sizeof(buffer), eCORE_UsernameLogin); printf("Username(Login) = %s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">"); temp = CORE_GetUsernameEx(buffer, sizeof(buffer), eCORE_UsernameCurrent); printf("Username(Current) = %s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">"); /* NB: GCC's __wur (warn unused result) silenced */ verify(freopen(null, "r", stdin)); /* NCBI_FAKE_WARNING: GCC */ temp = CORE_GetUsername(buffer, sizeof(buffer)); printf("Username = %s%s%s\n", temp ? (*temp ? "" : "\"") : "<", temp ? temp : "NULL", temp ? (*temp ? "" : "\"") : ">"); if (temp && !*temp) temp = 0; assert((!temp && !user) || ( temp && user && strcasecmp(temp, user) == 0)); if (user) free(user); }
static void TEST_CORE_GetUsername(void) { char buffer[512]; const char* username = CORE_GetUsername(buffer, sizeof(buffer)); printf("Username = %s%s%s\n", username ? (*username ? "" : "\"") : "<", username ? username : "******", username ? (*username ? "" : "\"") : ">"); }
static void s_MakeFrom(char* buf, size_t buf_size) { size_t buf_len, hostname_len; if (!CORE_GetUsername(buf, buf_size) || !*buf) strncpy0(buf, "anonymous", buf_size - 1); buf_len = strlen(buf); hostname_len = buf_size - buf_len; if (hostname_len-- > 1) { buf[buf_len++] = '@'; if ((!SOCK_gethostbyaddr(0, &buf[buf_len], hostname_len) || !strchr(&buf[buf_len], '.')) && SOCK_gethostname(&buf[buf_len], hostname_len) != 0) { buf[--buf_len] = '\0'; } } }