mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
Use ATTRIBUTE_NORETURN as suggested by tito, plus a few in-passing cleanups.
This commit is contained in:
parent
c5598177bc
commit
0f0b645f73
@ -399,6 +399,10 @@ static const char * const cmd_feat_str[] = {
|
|||||||
"SMART self-test ", /* word 84 bit 1 */
|
"SMART self-test ", /* word 84 bit 1 */
|
||||||
"SMART error logging " /* word 84 bit 0 */
|
"SMART error logging " /* word 84 bit 0 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void identify(uint16_t *id_supplied) ATTRIBUTE_NORETURN;
|
||||||
|
static void identify_from_stdin(void) ATTRIBUTE_NORETURN;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -629,6 +633,7 @@ static void print_ascii(uint16_t *p, uint8_t length) {
|
|||||||
others, though, were declared in hdparm.c with global scope; since other
|
others, though, were declared in hdparm.c with global scope; since other
|
||||||
functions in that file have static (file) scope, I assume the difference is
|
functions in that file have static (file) scope, I assume the difference is
|
||||||
intentional. */
|
intentional. */
|
||||||
|
|
||||||
static void identify(uint16_t *id_supplied)
|
static void identify(uint16_t *id_supplied)
|
||||||
{
|
{
|
||||||
uint16_t buf[256];
|
uint16_t buf[256];
|
||||||
@ -2224,14 +2229,11 @@ static void process_dev(char *devname)
|
|||||||
memset(args1, 0, sizeof(args1));
|
memset(args1, 0, sizeof(args1));
|
||||||
args1[0] = WIN_IDENTIFY;
|
args1[0] = WIN_IDENTIFY;
|
||||||
args1[3] = 1;
|
args1[3] = 1;
|
||||||
if (bb_ioctl_alt(fd, HDIO_DRIVE_CMD, args1, WIN_PIDENTIFY, "HDIO_DRIVE_CMD(identify)"))
|
if (!bb_ioctl_alt(fd, HDIO_DRIVE_CMD, args1, WIN_PIDENTIFY, "HDIO_DRIVE_CMD(identify)")) {
|
||||||
goto identify_abort;
|
for (i=0; i<(sizeof args1)/2; i+=2)
|
||||||
|
__le16_to_cpus((uint16_t *)(&args1[i]));
|
||||||
for (i=0; i<(sizeof args1)/2; i+=2)
|
identify((void *)&args1[4]);
|
||||||
__le16_to_cpus((uint16_t *)(&args1[i]));
|
}
|
||||||
identify((void *)&args1[4]);
|
|
||||||
identify_abort:
|
|
||||||
/* VOID */;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
#ifdef CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
||||||
@ -2307,7 +2309,7 @@ static int fromhex(unsigned char c)
|
|||||||
bb_error_msg_and_die("bad char: '%c' 0x%02x", c, c);
|
bb_error_msg_and_die("bad char: '%c' 0x%02x", c, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int identify_from_stdin(void)
|
static void identify_from_stdin(void)
|
||||||
{
|
{
|
||||||
unsigned short sbuf[800];
|
unsigned short sbuf[800];
|
||||||
unsigned char buf[1600], *b = (unsigned char *)buf;
|
unsigned char buf[1600], *b = (unsigned char *)buf;
|
||||||
@ -2323,7 +2325,6 @@ static int identify_from_stdin(void)
|
|||||||
count -= 5;
|
count -= 5;
|
||||||
}
|
}
|
||||||
identify(sbuf);
|
identify(sbuf);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2344,12 +2345,8 @@ int hdparm_main(int argc, char **argv)
|
|||||||
|
|
||||||
while (argc--)
|
while (argc--)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_FEATURE_HDPARM_GET_IDENTITY
|
if (ENABLE_FEATURE_HDPARM_GET_IDENTITY && !strcmp("-Istdin", *argv))
|
||||||
if (!strcmp("-Istdin", *argv))
|
identify_from_stdin();
|
||||||
{
|
|
||||||
return identify_from_stdin();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
p = *argv++;
|
p = *argv++;
|
||||||
if (*p == '-')
|
if (*p == '-')
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user