framestruc* frame_copy_ext(framestruc *fr, char *nnm, int copt, int ccom) { framestruc *frn; optionstruc **ol,*op; frn = new_frame(NULL); if (FRMATRIX(fr)) { frame_setmatrix(frn,ematrix_copy(FRMATRIX(fr))); FRPFINDEX(frn) = FRPFINDEX(fr); } if (nnm) frame_setname(frn,nnm); else frame_setname_ext(frn,FRNAME(fr),NULL,FREXTENS(fr)); if (FRCOMMENT(fr) && !nnm) FRCOMMENT(frn) = MSTRDUP(FRCOMMENT(fr)); FRNUMBER(frn) = FRNUMBER(fr); if (copt && FROPTIONS(fr)) for (ol=FROPTIONS(fr); *ol; ol++) { op = option_copy(*ol); frame_addoption(frn,op,OPTINDEX(op)); } if (ccom && FRCOMMANDS(fr)) for (ol=FRCOMMANDS(fr); *ol; ol++) { op = option_copy(*ol); frame_addcommand(frn,op,OPTINDEX(op)); } FRLASTOPTI(frn) = FRLASTOPTI(fr); return frn; }
static struct option * option_merge(const pgut_option opts1[], const pgut_option opts2[]) { struct option *result; size_t len1 = option_length(opts1); size_t len2 = option_length(opts2); size_t n = len1 + len2; result = pgut_newarray(struct option, n + 1); option_copy(result, opts1, len1); option_copy(result + len1, opts2, len2); memset(&result[n], 0, sizeof(pgut_option)); return result; }
void SongSourceDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { // Draw the background PlaylistDelegateBase::paint(painter, option, index); QStyleOptionViewItem option_copy(option); initStyleOption(&option_copy, index); // Find the pixmap to use for this URL const QUrl& url = index.data().toUrl(); QPixmap pixmap = LookupPixmap(url, option_copy.decorationSize); float device_pixel_ratio = 1.0f; #ifdef Q_OS_DARWIN QWidget* parent_widget = reinterpret_cast<QWidget*>(parent()); device_pixel_ratio = mac::GetDevicePixelRatio(parent_widget); #endif // Draw the pixmap in the middle of the rectangle QRect draw_rect(QPoint(0, 0), option_copy.decorationSize / device_pixel_ratio); draw_rect.moveCenter(option_copy.rect.center()); painter->drawPixmap(draw_rect, pixmap); }
int check_options(int argc, char **argv) { int ret = 0, r; char *arg; yaz_log_init_level(yaz_log_mask_str(STAT_DEFAULT_LOG_LEVEL)); get_logbits(1); while ((ret = options("1a:iszSTl:v:u:c:w:t:k:d:A:p:DC:f:m:r:", argv, argc, &arg)) != -2) { switch (ret) { case 0: if (add_listener(arg, 0)) return 1; /* failed to create listener */ break; case '1': control_block.one_shot = 1; control_block.dynamic = 0; break; case 'z': control_block.default_proto = PROTO_Z3950; break; case 's': fprintf(stderr, "%s: SR protocol no longer supported\n", me); exit(1); break; case 'S': control_block.dynamic = 0; break; case 'T': #if YAZ_POSIX_THREADS control_block.dynamic = 0; control_block.threads = 1; #elif YAZ_GNU_THREADS control_block.dynamic = 0; control_block.threads = 1; #else fprintf(stderr, "%s: Threaded mode not available.\n", me); return 1; #endif break; case 'l': option_copy(control_block.logfile, arg); yaz_log_init_file(control_block.logfile); break; case 'm': if (!arg) { fprintf(stderr, "%s: Specify time format for log file.\n", me); return(1); } yaz_log_time_format(arg); break; case 'v': yaz_log_init_level(yaz_log_mask_str(arg)); get_logbits(1); break; case 'a': option_copy(control_block.apdufile, arg); break; case 'u': option_copy(control_block.setuid, arg); break; case 'c': option_copy(control_block.configname, arg); break; case 'C': option_copy(control_block.cert_fname, arg); break; case 'd': option_copy(control_block.daemon_name, arg); break; case 't': if (!arg || !(r = atoi(arg))) { fprintf(stderr, "%s: Specify positive timeout for -t.\n", me); return(1); } control_block.idle_timeout = r; break; case 'k': if (!arg || !(r = atoi(arg))) { fprintf(stderr, "%s: Specify positive size for -k.\n", me); return(1); } control_block.maxrecordsize = r * 1024; break; case 'i': control_block.inetd = 1; break; case 'w': if (chdir(arg)) { perror(arg); return 1; } break; case 'A': max_sessions = atoi(arg); break; case 'p': option_copy(control_block.pid_fname, arg); break; case 'f': #if YAZ_HAVE_XML2 option_copy(control_block.xml_config, arg); #else fprintf(stderr, "%s: Option -f unsupported since YAZ is compiled without Libxml2 support\n", me); exit(1); #endif break; case 'D': control_block.background = 1; break; case 'r': if (!arg || !(r = atoi(arg))) { fprintf(stderr, "%s: Specify positive size for -r.\n", me); return(1); } yaz_log_init_max_size(r * 1024); break; default: fprintf(stderr, "Usage: %s [ -a <pdufile> -v <loglevel>" " -l <logfile> -u <user> -c <config> -t <minutes>" " -k <kilobytes> -d <daemon> -p <pidfile> -C certfile" " -ziDST1 -m <time-format> -w <directory> <listener-addr>... ]\n", me); return 1; } } return 0; }