mirror of
https://github.com/transmission/transmission
synced 2025-03-16 00:39:34 +00:00
Refactor "created on" value output a bit further
This eliminates partial string literal duplication but is otherwise equivalent to the prior code.
This commit is contained in:
parent
8a67a8cb5d
commit
56d5f117a8
1 changed files with 28 additions and 17 deletions
45
utils/show.c
45
utils/show.c
|
@ -93,6 +93,33 @@ static int compare_files_by_name(void const* va, void const* vb)
|
|||
return strcmp(a->name, b->name);
|
||||
}
|
||||
|
||||
static char const* unix_timestamp_to_str(time_t timestamp)
|
||||
{
|
||||
if (timestamp == 0)
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
struct tm const* const local_time = localtime(×tamp);
|
||||
|
||||
if (local_time == NULL)
|
||||
{
|
||||
return "Invalid";
|
||||
}
|
||||
|
||||
static char buffer[32];
|
||||
tr_strlcpy(buffer, asctime(local_time), TR_N_ELEMENTS(buffer));
|
||||
|
||||
char* const newline_pos = strchr(buffer, '\n');
|
||||
|
||||
if (newline_pos != NULL)
|
||||
{
|
||||
*newline_pos = '\0';
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
static void showInfo(tr_info const* inf)
|
||||
{
|
||||
char buf[128];
|
||||
|
@ -107,23 +134,7 @@ static void showInfo(tr_info const* inf)
|
|||
printf(" Name: %s\n", inf->name);
|
||||
printf(" Hash: %s\n", inf->hashString);
|
||||
printf(" Created by: %s\n", inf->creator ? inf->creator : "Unknown");
|
||||
|
||||
if (inf->dateCreated == 0)
|
||||
{
|
||||
printf(" Created on: Unknown\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
struct tm *created_on = localtime(&inf->dateCreated);
|
||||
if (created_on == NULL)
|
||||
{
|
||||
printf(" Created on: Invalid date\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(" Created on: %s", asctime(created_on));
|
||||
}
|
||||
}
|
||||
printf(" Created on: %s\n", unix_timestamp_to_str(inf->dateCreated));
|
||||
|
||||
if (inf->comment != NULL && *inf->comment != '\0')
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue