big endian warning fixes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2009-11-07 01:31:14 +01:00
parent 0d8c0b810e
commit 245a4f84be
4 changed files with 18 additions and 14 deletions

View File

@ -324,7 +324,7 @@ typedef unsigned smalluint;
# include <inttypes.h> # include <inttypes.h>
# define PRIu32 "u" # define PRIu32 "u"
/* use legacy setpgrp(pid_t,pid_t) for now. move to platform.c */ /* use legacy setpgrp(pid_t,pid_t) for now. move to platform.c */
# define bb_setpgrp() do { pid_t __me = getpid(); setpgrp(__me,__me); } while (0) # define bb_setpgrp() do { pid_t __me = getpid(); setpgrp(__me, __me); } while (0)
# if !defined ADJ_OFFSET_SINGLESHOT && defined MOD_CLKA && defined MOD_OFFSET # if !defined ADJ_OFFSET_SINGLESHOT && defined MOD_CLKA && defined MOD_OFFSET
# define ADJ_OFFSET_SINGLESHOT (MOD_CLKA | MOD_OFFSET) # define ADJ_OFFSET_SINGLESHOT (MOD_CLKA | MOD_OFFSET)
# endif # endif

View File

@ -408,7 +408,7 @@ void FAST_FUNC sha512_hash(const void *buffer, size_t len, sha512_ctx_t *ctx)
/* Used also for sha256 */ /* Used also for sha256 */
void FAST_FUNC sha1_end(void *resbuf, sha1_ctx_t *ctx) void FAST_FUNC sha1_end(void *resbuf, sha1_ctx_t *ctx)
{ {
unsigned i, pad, in_buf; unsigned pad, in_buf;
in_buf = ctx->total64 & 63; in_buf = ctx->total64 & 63;
/* Pad the buffer to the next 64-byte boundary with 0x80,0,0,0... */ /* Pad the buffer to the next 64-byte boundary with 0x80,0,0,0... */
@ -434,16 +434,17 @@ void FAST_FUNC sha1_end(void *resbuf, sha1_ctx_t *ctx)
in_buf = (ctx->process_block == sha1_process_block64) ? 5 : 8; in_buf = (ctx->process_block == sha1_process_block64) ? 5 : 8;
/* This way we do not impose alignment constraints on resbuf: */ /* This way we do not impose alignment constraints on resbuf: */
#if BB_LITTLE_ENDIAN if (BB_LITTLE_ENDIAN) {
for (i = 0; i < in_buf; ++i) unsigned i;
ctx->hash[i] = htonl(ctx->hash[i]); for (i = 0; i < in_buf; ++i)
#endif ctx->hash[i] = htonl(ctx->hash[i]);
}
memcpy(resbuf, ctx->hash, sizeof(ctx->hash[0]) * in_buf); memcpy(resbuf, ctx->hash, sizeof(ctx->hash[0]) * in_buf);
} }
void FAST_FUNC sha512_end(void *resbuf, sha512_ctx_t *ctx) void FAST_FUNC sha512_end(void *resbuf, sha512_ctx_t *ctx)
{ {
unsigned i, pad, in_buf; unsigned pad, in_buf;
in_buf = ctx->total64[0] & 127; in_buf = ctx->total64[0] & 127;
/* Pad the buffer to the next 128-byte boundary with 0x80,0,0,0... /* Pad the buffer to the next 128-byte boundary with 0x80,0,0,0...
@ -470,9 +471,10 @@ void FAST_FUNC sha512_end(void *resbuf, sha512_ctx_t *ctx)
break; break;
} }
#if BB_LITTLE_ENDIAN if (BB_LITTLE_ENDIAN) {
for (i = 0; i < ARRAY_SIZE(ctx->hash); ++i) unsigned i;
ctx->hash[i] = hton64(ctx->hash[i]); for (i = 0; i < ARRAY_SIZE(ctx->hash); ++i)
#endif ctx->hash[i] = hton64(ctx->hash[i]);
}
memcpy(resbuf, ctx->hash, sizeof(ctx->hash)); memcpy(resbuf, ctx->hash, sizeof(ctx->hash));
} }

View File

@ -615,7 +615,7 @@ xbsd_create_disklabel(void)
while (1) { while (1) {
c = read_nonempty("Do you want to create a disklabel? (y/n) "); c = read_nonempty("Do you want to create a disklabel? (y/n) ");
if (c == 'y' || c == 'Y') { if ((c|0x20) == 'y') {
if (xbsd_initlabel( if (xbsd_initlabel(
#if defined(__alpha__) || defined(__powerpc__) || defined(__hppa__) || \ #if defined(__alpha__) || defined(__powerpc__) || defined(__hppa__) || \
defined(__s390__) || defined(__s390x__) defined(__s390__) || defined(__s390x__)
@ -629,7 +629,7 @@ xbsd_create_disklabel(void)
} }
return 0; return 0;
} }
if (c == 'n') if ((c|0x20) == 'n')
return 0; return 0;
} }
} }
@ -964,6 +964,7 @@ xbsd_writelabel(struct partition *p)
#if !defined(__alpha__) && !defined(__powerpc__) && !defined(__hppa__) #if !defined(__alpha__) && !defined(__powerpc__) && !defined(__hppa__)
sector = get_start_sect(p) + BSD_LABELSECTOR; sector = get_start_sect(p) + BSD_LABELSECTOR;
#else #else
(void)p; /* silence warning */
sector = BSD_LABELSECTOR; sector = BSD_LABELSECTOR;
#endif #endif

View File

@ -471,7 +471,8 @@ int mkfs_vfat_main(int argc UNUSED_PARAM, char **argv)
strcpy(boot_blk->boot_jump, "\xeb\x58\x90" "mkdosfs"); // system_id[8] included :) strcpy(boot_blk->boot_jump, "\xeb\x58\x90" "mkdosfs"); // system_id[8] included :)
STORE_LE(boot_blk->bytes_per_sect, bytes_per_sect); STORE_LE(boot_blk->bytes_per_sect, bytes_per_sect);
STORE_LE(boot_blk->sect_per_clust, sect_per_clust); STORE_LE(boot_blk->sect_per_clust, sect_per_clust);
STORE_LE(boot_blk->reserved_sect, reserved_sect); // cast in needed on big endian to suppress a warning
STORE_LE(boot_blk->reserved_sect, (uint16_t)reserved_sect);
STORE_LE(boot_blk->fats, 2); STORE_LE(boot_blk->fats, 2);
//STORE_LE(boot_blk->dir_entries, 0); // for FAT32, stays 0 //STORE_LE(boot_blk->dir_entries, 0); // for FAT32, stays 0
if (volume_size_sect <= 0xffff) if (volume_size_sect <= 0xffff)