Exemple #1
0
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;
}
Exemple #2
0
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);
}
Exemple #4
0
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;
}