- http://www.zlib.net/ -- http://www.zlib.net/zlib_tech.html - http://oku.edu.mie-u.ac.jp/~okumura/compression/zlib.html * compress / uncompress [#x10ab7d2] ** compress [#compress] compsize = ~; compbuff = malloc(compsize); int result = compress(compbuff, &compsize, origbuff, origsize); if (result != Z_OK) { if (result == Z_MEM_ERROR) { fprintf(stderr, "compress: Z_MEM_ERROR: can't malloc\n"); } else if (result == Z_BUF_ERROR) { fprintf(stderr, "compress: Z_BUF_ERROR: not enough buff size\n"); } return 1; // FAILURE } ** uncompress [#uncompress] origsize = ~; origbuff = malloc(origsize); int result = uncompress(origbuff, &origsize, compbuff, compsize); if (result != Z_OK) { if (result == Z_MEM_ERROR) { fprintf(stderr, "uncompress: Z_MEM_ERROR: can't malloc\n"); } else if (result == Z_BUF_ERROR) { fprintf(stderr, "uncompress: Z_BUF_ERROR: not enough buff size\n"); } return 1; // FAILURE } * inflate / defrate [#q681d972] (予定) |