Changeset 30770


Ignore:
Timestamp:
2012-03-01T20:55:49+01:00 (5 years ago)
Author:
juhosg
Message:

tools/mtd-utils: cleanup mkubifs lzo patch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/mtd-utils/patches/135-mkubifs_optional_lzo.patch

    r30769 r30770  
    11--- a/mkfs.ubifs/compr.c 
    22+++ b/mkfs.ubifs/compr.c 
    3 @@ -24,7 +24,9 @@ 
     3@@ -24,7 +24,6 @@ 
    44 #include <stdio.h> 
    55 #include <stdint.h> 
    66 #include <string.h> 
    7 +#ifndef WITHOUT_LZO 
    8  #include <lzo/lzo1x.h> 
    9 +#endif 
     7-#include <lzo/lzo1x.h> 
    108 #include <linux/types.h> 
    119  
    1210 #define crc32 __zlib_crc32 
    13 @@ -35,7 +37,9 @@ 
     11@@ -35,7 +34,6 @@ 
    1412 #include "ubifs-media.h" 
    1513 #include "mkfs.ubifs.h" 
    1614  
    17 +#ifndef WITHOUT_LZO 
    18  static void *lzo_mem; 
    19 +#endif 
     15-static void *lzo_mem; 
    2016 static unsigned long long errcnt = 0; 
    2117 static struct ubifs_info *c = &info_; 
    2218  
    23 @@ -86,6 +90,7 @@ static int zlib_deflate(void *in_buf, si 
     19@@ -86,6 +84,25 @@ static int zlib_deflate(void *in_buf, si 
    2420        return 0; 
    2521 } 
    2622  
    2723+#ifndef WITHOUT_LZO 
     24+#include <lzo/lzo1x.h> 
     25+ 
     26+static void *lzo_mem; 
     27+ 
     28+static int lzo_init(void) 
     29+{ 
     30+       lzo_mem = malloc(LZO1X_999_MEM_COMPRESS); 
     31+       if (!lzo_mem) 
     32+               return -1; 
     33+ 
     34+       return 0; 
     35+} 
     36+ 
     37+static void lzo_fini(void) 
     38+{ 
     39+       free(lzo_mem); 
     40+} 
     41+ 
    2842 static int lzo_compress(void *in_buf, size_t in_len, void *out_buf, 
    2943                        size_t *out_len) 
    3044 { 
    31 @@ -103,6 +108,7 @@ static int lzo_compress(void *in_buf, si 
     45@@ -103,6 +120,12 @@ static int lzo_compress(void *in_buf, si 
    3246  
    3347        return 0; 
    3448 } 
     49+#else 
     50+static inline int lzo_compress(void *in_buf, size_t in_len, void *out_buf, 
     51+                              size_t *out_len) { return -1; } 
     52+static inline int lzo_init(void) { return 0; } 
     53+static inline void lzo_fini(void) { } 
    3554+#endif 
    3655  
    3756 static int no_compress(void *in_buf, size_t in_len, void *out_buf, 
    3857                       size_t *out_len) 
    39 @@ -120,14 +126,20 @@ static int favor_lzo_compress(void *in_b 
    40         int lzo_ret, zlib_ret; 
    41         size_t lzo_len, zlib_len; 
    42   
    43 +#ifndef WITHOUT_LZO 
     58@@ -123,7 +146,6 @@ static int favor_lzo_compress(void *in_b 
    4459        lzo_len = zlib_len = *out_len; 
    4560        lzo_ret = lzo_compress(in_buf, in_len, out_buf, &lzo_len); 
    46 +#endif 
    4761        zlib_ret = zlib_deflate(in_buf, in_len, zlib_buf, &zlib_len); 
    4862- 
    49 +#ifndef WITHOUT_LZO 
    5063        if (lzo_ret && zlib_ret) 
    51 +#else 
    52 +       if (zlib_ret) 
    53 +#endif 
    5464                /* Both compressors failed */ 
    5565                return -1; 
    56   
    57 +#ifndef WITHOUT_LZO 
    58         if (!lzo_ret && !zlib_ret) { 
    59                 double percent; 
    60   
    61 @@ -152,6 +164,7 @@ select_lzo: 
    62         *out_len = lzo_len; 
    63         *type = MKFS_UBIFS_COMPR_LZO; 
    64         return 0; 
    65 +#endif 
    66   
    67  select_zlib: 
    68         *out_len = zlib_len; 
    69 @@ -174,9 +187,11 @@ int compress_data(void *in_buf, size_t i 
    70                 ret = favor_lzo_compress(in_buf, in_len, out_buf, out_len, &type); 
    71         else { 
    72                 switch (type) { 
    73 +#ifndef WITHOUT_LZO 
    74                 case MKFS_UBIFS_COMPR_LZO: 
    75                         ret = lzo_compress(in_buf, in_len, out_buf, out_len); 
    76                         break; 
    77 +#endif 
    78                 case MKFS_UBIFS_COMPR_ZLIB: 
    79                         ret = zlib_deflate(in_buf, in_len, out_buf, out_len); 
    80                         break; 
    81 @@ -198,13 +213,17 @@ int compress_data(void *in_buf, size_t i 
     66@@ -198,23 +220,28 @@ int compress_data(void *in_buf, size_t i 
    8267  
    8368 int init_compression(void) 
    8469 { 
    85 +#ifndef WITHOUT_LZO 
    86         lzo_mem = malloc(LZO1X_999_MEM_COMPRESS); 
    87         if (!lzo_mem) 
    88                 return -1; 
    89 +#endif 
     70-       lzo_mem = malloc(LZO1X_999_MEM_COMPRESS); 
     71-       if (!lzo_mem) 
     72-               return -1; 
     73+       int ret; 
     74+ 
     75+       ret = lzo_init(); 
     76+       if (ret) 
     77+               goto err; 
    9078  
    9179        zlib_buf = malloc(UBIFS_BLOCK_SIZE * WORST_COMPR_FACTOR); 
    92         if (!zlib_buf) { 
    93 +#ifndef WITHOUT_LZO 
    94                 free(lzo_mem); 
    95 +#endif 
    96                 return -1; 
    97         } 
     80-       if (!zlib_buf) { 
     81-               free(lzo_mem); 
     82-               return -1; 
     83-       } 
     84+       if (!zlib_buf) 
     85+               goto err_lzo; 
    9886  
    99 @@ -214,7 +233,9 @@ int init_compression(void) 
     87        return 0; 
     88+ 
     89+err_lzo: 
     90+       lzo_fini(); 
     91+err: 
     92+       return ret; 
     93 } 
     94  
    10095 void destroy_compression(void) 
    10196 { 
    10297        free(zlib_buf); 
    103 +#ifndef WITHOUT_LZO 
    104         free(lzo_mem); 
    105 +#endif 
     98-       free(lzo_mem); 
     99+       lzo_fini(); 
    106100        if (errcnt) 
    107101                fprintf(stderr, "%llu compression errors occurred\n", errcnt); 
Note: See TracChangeset for help on using the changeset viewer.