mirror of https://github.com/vitalif/e2fsprogs
Fix compiling under diet libc
Some recent changes had caused diet libc support to bitrot. Fix up missing header files and other portability fixups needed for dietlibc. (Many of these changes also improve general portability.) Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>bitmap-optimize
parent
f8bd55160c
commit
0eeec8ac61
|
@ -141,7 +141,7 @@ tst_crc32: $(srcdir)/crc32.c $(LIBEXT2FS)
|
|||
tst_refcount: ea_refcount.c
|
||||
@echo " LD $@"
|
||||
@$(CC) -o tst_refcount $(srcdir)/ea_refcount.c \
|
||||
$(ALL_CFLAGS) -DTEST_PROGRAM $(LIBCOM_ERR)
|
||||
$(ALL_CFLAGS) -DTEST_PROGRAM $(LIBCOM_ERR) $(LIBEXT2FS)
|
||||
|
||||
tst_region: region.c
|
||||
@echo " LD $@"
|
||||
|
|
|
@ -36,6 +36,9 @@
|
|||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#ifdef UNITTEST
|
||||
#undef ENABLE_NLS
|
||||
#endif
|
||||
#include "e2fsck.h"
|
||||
|
||||
#include "crc32defs.h"
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef TEST_PROGRAM
|
||||
#undef ENABLE_NLS
|
||||
#endif
|
||||
#include "e2fsck.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -246,7 +246,7 @@ static _INLINE_ void expand_inode_expression(char ch,
|
|||
struct ext2_inode_large *large_inode;
|
||||
const char * time_str;
|
||||
time_t t;
|
||||
int do_gmt = -1;
|
||||
static int do_gmt = -1;
|
||||
|
||||
if (!ctx || !ctx->inode)
|
||||
goto no_inode;
|
||||
|
@ -289,15 +289,17 @@ static _INLINE_ void expand_inode_expression(char ch,
|
|||
printf("0%o", inode->i_mode);
|
||||
break;
|
||||
case 'M':
|
||||
#ifdef __dietlibc__
|
||||
/* The diet libc doesn't respect the TZ environemnt variable */
|
||||
if (do_gmt == -1) {
|
||||
time_str = getenv("TZ");
|
||||
if (!time_str)
|
||||
time_str = "";
|
||||
do_gmt = !strcmp(time_str, "GMT");
|
||||
do_gmt = !strcmp(time_str, "GMT0");
|
||||
}
|
||||
#endif
|
||||
t = inode->i_mtime;
|
||||
time_str = asctime(do_gmt ? gmtime(&t) : localtime(&t));
|
||||
time_str = asctime((do_gmt > 0) ? gmtime(&t) : localtime(&t));
|
||||
printf("%.24s", time_str);
|
||||
break;
|
||||
case 'F':
|
||||
|
|
|
@ -1206,6 +1206,8 @@ static EXT2_QSORT_TYPE process_inode_cmp(const void *a, const void *b)
|
|||
ib_b->inode.i_block[EXT2_IND_BLOCK]);
|
||||
if (ret == 0)
|
||||
ret = ib_a->inode.i_file_acl - ib_b->inode.i_file_acl;
|
||||
if (ret == 0)
|
||||
ret = ib_a->ino - ib_b->ino;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#ifdef TEST_PROGRAM
|
||||
#undef ENABLE_NLS
|
||||
#endif
|
||||
#include "e2fsck.h"
|
||||
|
||||
struct region_el {
|
||||
|
|
|
@ -155,6 +155,7 @@ char *getcwd ();
|
|||
# endif
|
||||
# endif
|
||||
# ifndef HAVE_STPCPY
|
||||
#define stpcpy(dest, src) my_stpcpy(dest, src)
|
||||
static char *stpcpy (char *dest, const char *src);
|
||||
# endif
|
||||
# ifndef HAVE_MEMPCPY
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
# endif
|
||||
#else
|
||||
# ifndef HAVE_STPCPY
|
||||
#define stpcpy(dest, src) my_stpcpy(dest, src)
|
||||
static char *stpcpy (char *dest, const char *src);
|
||||
# endif
|
||||
#endif
|
||||
|
|
|
@ -5,6 +5,11 @@
|
|||
* Version 2. See the file COPYING for more details.
|
||||
*/
|
||||
|
||||
#if HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#include <ext2fs/ext2_types.h>
|
||||
|
||||
#include "crc16.h"
|
||||
|
||||
/** CRC table for the CRC-16. The poly is 0x8005 (x16 + x15 + x2 + 1) */
|
||||
|
|
|
@ -15,8 +15,6 @@
|
|||
#ifndef __CRC16_H
|
||||
#define __CRC16_H
|
||||
|
||||
#include <ext2fs/ext2_types.h>
|
||||
|
||||
/* for an unknown reason, PPC treats __u16 as signed and keeps doing sign
|
||||
* extension on the value. Instead, use only the low 16 bits of an
|
||||
* unsigned int for holding the CRC value to avoid this.
|
||||
|
|
|
@ -9,6 +9,10 @@
|
|||
* %End-Header%
|
||||
*/
|
||||
|
||||
#if HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include "ext2_fs.h"
|
||||
#include "ext2fs.h"
|
||||
#include "crc16.h"
|
||||
|
|
|
@ -9,6 +9,10 @@
|
|||
* %End-Header%
|
||||
*/
|
||||
|
||||
#if HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include "ext2fs/ext2_fs.h"
|
||||
#include "ext2fs/ext2fs.h"
|
||||
#include "ext2fs/crc16.h"
|
||||
|
|
|
@ -21,7 +21,7 @@ DYLD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss
|
|||
TMPFILE=./test.img
|
||||
export LD_LIBRARY_PATH
|
||||
export DYLD_LIBRARY_PATH
|
||||
TZ=GMT
|
||||
TZ=GMT0
|
||||
export TZ
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
|
Loading…
Reference in New Issue