void gfxpoly_fail(char*expr, char*file, int line, const char*function) { if(!current_polygon) { fprintf(stderr, "assert(%s) failed in %s in line %d: %s\n", expr, file, line, function); exit(1); } void*md5 = init_md5(); int s,t; gfxpolystroke_t*stroke = current_polygon->strokes; for(;stroke;stroke=stroke->next) { for(t=0;t<stroke->num_points;t++) { update_md5(md5, (unsigned char*)&stroke->points[t].x, sizeof(stroke->points[t].x)); update_md5(md5, (unsigned char*)&stroke->points[t].y, sizeof(stroke->points[t].y)); } } unsigned char h[16]; char filename[32+4+1]; finish_md5(md5, h); sprintf(filename, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x.ps", h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]); fprintf(stderr, "assert(%s) failed in %s in line %d: %s\n", expr, file, line, function); fprintf(stderr, "I'm saving a debug file \"%s\" to the current directory.\n", filename); gfxpoly_save(current_polygon, filename); exit(1); }
socket::socket(std::string key, auth auth_) : lock_interval_(10) { reset(); auth_type_ = auth_; switch (auth_) { case auth::MD5: init_md5(key); break; default: break; } }
int generate_zync_state(FILE *in_file, struct zync_state *zs, zync_block_size_t block_size) { if (block_size <= 0) { fprintf(stderr, "block_size <= 0"); return -1; } if (fseek(in_file, 0, SEEK_SET) != 0) { return -1; } zync_file_size_t in_filelen = 0; zync_block_index_t block_id = 0; unsigned char *zync_checksum = safe_malloc(sizeof(unsigned char) * 16); //zync_checksum+1 if (zync_checksum == NULL) { return -1; } CC_MD5_CTX *zync_ctx = init_md5(); //zync_ctx+1 while (block_id < MAX_BLOCKS) { unsigned char *in_file_buf = safe_malloc(sizeof(unsigned char) * block_size); //in_file_buf+1 if (in_file_buf == NULL) { free(zync_checksum); //zync_checksum-1 free(zync_ctx); //zync_ctx-1 return -1; } size_t in_file_read = safe_fread(in_file_buf, block_size, in_file); if (in_file_read == -1) { free(zync_checksum); //zync_checksum-1 free(zync_ctx); //zync_ctx-1 free(in_file_buf); //in_file_buf-1 return -1; } zync_rsum_t adler = (zync_rsum_t) calc_adler32(in_file_buf, block_size); unsigned char *md5_buf = safe_malloc(sizeof(unsigned char) * 16); //md5_buf+1 if (md5_buf == NULL) { free(zync_checksum); //zync_checksum-1 free(zync_ctx); //zync_ctx-1 free(in_file_buf); //in_file_buf-1 return -1; } calc_md5((void *) in_file_buf, block_size, md5_buf); add_zync_block(zs, block_id++, 0, 0, adler, md5_buf); free(md5_buf); //md5_buf-1 update_md5(zync_ctx, (void *) in_file_buf, block_size); in_filelen += in_file_read; free(in_file_buf); //in_file_buf-1 if (feof(in_file)) { break; } } finalize_md5(zync_ctx, zync_checksum); //zync_ctx-1 for (int i = 0; i < 16; i++) { zs->checksum[i] = zync_checksum[i]; } free(zync_checksum); //zync_checksum-1 zs->filelen = in_filelen; zs->block_size = block_size; zs->block_fill_count = 0; return 0; }