您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ vstream_fflush函数代码示例

51自学网 2021-06-03 09:49:13
  C++
这篇教程C++ vstream_fflush函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中vstream_fflush函数的典型用法代码示例。如果您正苦于以下问题:C++ vstream_fflush函数的具体用法?C++ vstream_fflush怎么用?C++ vstream_fflush使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了vstream_fflush函数的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int     main(int unused_argc, char **unused_argv){    VSTRING *in_buf = vstring_alloc(10);    VSTRING *parse_buf = vstring_alloc(10);    char   *host;    char   *port;    const char *err;    while (vstring_fgets_nonl(in_buf, VSTREAM_IN)) {	vstream_printf(">> %s/n", STR(in_buf));	vstream_fflush(VSTREAM_OUT);	if (*STR(in_buf) == '#')	    continue;	vstring_strcpy(parse_buf, STR(in_buf));	if ((err = host_port(STR(parse_buf), &host, (char *) 0, &port, "default-service")) != 0) {	    msg_warn("%s in %s", err, STR(in_buf));	} else {	    vstream_printf("host %s port %s/n", host, port);	    vstream_fflush(VSTREAM_OUT);	}    }    vstring_free(in_buf);    vstring_free(parse_buf);    return (0);}
开发者ID:ystk,项目名称:debian-postfix,代码行数:25,


示例2: post_jail_init

static void post_jail_init(char *service_name, char **unused_argv){    /*     * Special case: dump bounce templates. This is not part of the master(5)     * public interface. This internal interface is used by the postconf     * command. It was implemented before bounce templates were isolated into     * modules that could have been called directly.     */    if (strcmp(service_name, "dump_templates") == 0) {	bounce_templates_dump(VSTREAM_OUT, bounce_templates);	vstream_fflush(VSTREAM_OUT);	exit(0);    }    if (strcmp(service_name, "expand_templates") == 0) {	bounce_templates_expand(VSTREAM_OUT, bounce_templates);	vstream_fflush(VSTREAM_OUT);	exit(0);    }    /*     * Initialize. We're single threaded so we can reuse some memory upon     * successive requests.     */    queue_id = vstring_alloc(10);    queue_name = vstring_alloc(10);    rcpt_buf = rcpb_create();    encoding = vstring_alloc(10);    sender = vstring_alloc(10);    dsn_envid = vstring_alloc(10);    verp_delims = vstring_alloc(10);    dsn_buf = dsb_create();}
开发者ID:Gelma,项目名称:Postfix,代码行数:33,


示例3: main

int     main(int unused_argc, char **unused_argv){    VSTRING *buf = vstring_alloc(100);    VSTRING *result = vstring_alloc(100);    char   *cp;    char   *name;    char   *value;    HTABLE *table;    int     stat;    while (!vstream_feof(VSTREAM_IN)) {	table = htable_create(0);	/*	 * Read a block of definitions, terminated with an empty line.	 */	while (vstring_get_nonl(buf, VSTREAM_IN) != VSTREAM_EOF) {	    vstream_printf("<< %s/n", vstring_str(buf));	    vstream_fflush(VSTREAM_OUT);	    if (VSTRING_LEN(buf) == 0)		break;	    cp = vstring_str(buf);	    name = mystrtok(&cp, " /t/r/n=");	    value = mystrtok(&cp, " /t/r/n=");	    htable_enter(table, name, value ? mystrdup(value) : 0);	}	/*	 * Read a block of patterns, terminated with an empty line or EOF.	 */	while (vstring_get_nonl(buf, VSTREAM_IN) != VSTREAM_EOF) {	    vstream_printf("<< %s/n", vstring_str(buf));	    vstream_fflush(VSTREAM_OUT);	    if (VSTRING_LEN(buf) == 0)		break;	    cp = vstring_str(buf);	    VSTRING_RESET(result);	    stat = mac_expand(result, vstring_str(buf), MAC_EXP_FLAG_NONE,			      (char *) 0, lookup, (char *) table);	    vstream_printf("stat=%d result=%s/n", stat, vstring_str(result));	    vstream_fflush(VSTREAM_OUT);	}	htable_free(table, myfree);	vstream_printf("/n");    }    /*     * Clean up.     */    vstring_free(buf);    vstring_free(result);    exit(0);}
开发者ID:TonyChengTW,项目名称:Rmail,代码行数:54,


示例4: main

int     main(void){    VSTRING *buf = vstring_alloc(100);    SERVER_ACL *argv;    int     ret;    int     have_tty = isatty(0);    char   *bufp;    char   *cmd;    char   *value;    const NAME_CODE acl_map[] = {	SERVER_ACL_NAME_ERROR, SERVER_ACL_ACT_ERROR,	SERVER_ACL_NAME_PERMIT, SERVER_ACL_ACT_PERMIT,	SERVER_ACL_NAME_REJECT, SERVER_ACL_ACT_REJECT,	SERVER_ACL_NAME_DUNNO, SERVER_ACL_ACT_DUNNO,	0,    };#define VAR_SERVER_ACL "server_acl"    while (vstring_get_nonl(buf, VSTREAM_IN) != VSTREAM_EOF) {	bufp = STR(buf);	if (have_tty == 0) {	    vstream_printf("> %s/n", bufp);	    vstream_fflush(VSTREAM_OUT);	}	if (*bufp == '#')	    continue;	if ((cmd = mystrtok(&bufp, " =")) == 0 || STREQ(cmd, "?")) {	    vstream_printf("usage: %s=value|%s=value|address=value/n",			   VAR_MYNETWORKS, VAR_SERVER_ACL);	} else if ((value = mystrtok(&bufp, " =")) == 0) {	    vstream_printf("missing value/n");	} else if (STREQ(cmd, VAR_MYNETWORKS)) {	    UPDATE_VAR(var_mynetworks, value);	} else if (STREQ(cmd, VAR_SERVER_ACL)) {	    UPDATE_VAR(var_server_acl, value);	} else if (STREQ(cmd, "address")) {	    server_acl_pre_jail_init(var_mynetworks, VAR_SERVER_ACL);	    argv = server_acl_parse(var_server_acl, VAR_SERVER_ACL);	    ret = server_acl_eval(value, argv, VAR_SERVER_ACL);	    argv_free(argv);	    vstream_printf("%s: %s/n", value, str_name_code(acl_map, ret));	} else {	    vstream_printf("unknown command: /"%s/"/n", cmd);	}	vstream_fflush(VSTREAM_OUT);    }    vstring_free(buf);    exit(0);}
开发者ID:Gelma,项目名称:Postfix,代码行数:50,


示例5: get_buffer

static int get_buffer(VSTRING *buf, VSTREAM *fp, int interactive){    int     status;    if (interactive) {	vstream_printf("> ");	vstream_fflush(VSTREAM_OUT);    }    if ((status = vstring_get_nonl(buf, fp)) != VSTREAM_EOF) {	if (!interactive) {	    vstream_printf(">>> %s/n", STR(buf));	    vstream_fflush(VSTREAM_OUT);	}    }    return (status);}
开发者ID:DabeDotCom,项目名称:postfix,代码行数:16,


示例6: update

static void update(char *query){    char   *addr;    char   *status_text;    char   *cp = query;    if ((addr = mystrtok(&cp, " /t/r/n")) == 0	|| (status_text = mystrtok(&cp, " /t/r/n")) == 0) {	msg_warn("bad request format");	return;    }    while (*cp && ISSPACE(*cp))	cp++;    if (*cp == 0) {	msg_warn("bad request format");	return;    }    switch (verify_clnt_update(query, atoi(status_text), cp)) {    case VRFY_STAT_OK:	vstream_printf("OK/n");	vstream_fflush(VSTREAM_OUT);	break;    case VRFY_STAT_BAD:	msg_warn("bad request format");	break;    case VRFY_STAT_FAIL:	msg_warn("request failed");	break;    }}
开发者ID:ajinkya93,项目名称:netbsd-src,代码行数:30,


示例7: pcf_print_parameter

static void pcf_print_parameter(VSTREAM *fp, int mode, const char *name,				        PCF_PARAM_NODE *node){    const char *value;    /*     * Use the default or actual value.     */    value = pcf_lookup_parameter_value(mode, name, (PCF_MASTER_ENT *) 0, node);    /*     * Optionally expand $name in the parameter value. Print the result with     * or without the name= prefix.     */    if (value != 0) {	if (mode & PCF_HIDE_VALUE) {	    pcf_print_line(fp, mode, "%s/n", name);	} else {	    if ((mode & PCF_SHOW_EVAL) != 0 && PCF_RAW_PARAMETER(node) == 0)		value = pcf_expand_parameter_value((VSTRING *) 0, mode, value,						   (PCF_MASTER_ENT *) 0);	    if ((mode & PCF_HIDE_NAME) == 0) {		pcf_print_line(fp, mode, "%s = %s/n", name, value);	    } else {		pcf_print_line(fp, mode, "%s/n", value);	    }	}	if (msg_verbose)	    vstream_fflush(fp);    }}
开发者ID:DabeDotCom,项目名称:postfix,代码行数:31,


示例8: deliver_request_final

static int deliver_request_final(VSTREAM *stream, DELIVER_REQUEST *request,				         int status){    DSN    *hop_status;    int     err;    /* XXX This DSN structure initialization bypasses integrity checks. */    static DSN dummy_dsn = {"", "", "", "", "", "", ""};    /*     * Send the status and the optional reason.     */    if ((hop_status = request->hop_status) == 0)	hop_status = &dummy_dsn;    if (msg_verbose)	msg_info("deliver_request_final: send: /"%s/" %d",		 hop_status->reason, status);    attr_print(stream, ATTR_FLAG_NONE,	       ATTR_TYPE_FUNC, dsn_print, (void *) hop_status,	       ATTR_TYPE_INT, MAIL_ATTR_STATUS, status,	       ATTR_TYPE_END);    if ((err = vstream_fflush(stream)) != 0)	if (msg_verbose)	    msg_warn("send final status: %m");    /*     * With some UNIX systems, stream sockets lose data when you close them     * immediately after writing to them. That is not how sockets are     * supposed to behave! The workaround is to wait until the receiver     * closes the connection. Calling VSTREAM_GETC() has the benefit of using     * whatever timeout is specified in the ipc_timeout parameter.     */    (void) VSTREAM_GETC(stream);    return (err);}
开发者ID:ystk,项目名称:debian-postfix,代码行数:35,


示例9: main

int     main(int argc, char **argv){    VSTRING *buffer = vstring_alloc(100);    MAPS   *path;    const char *result;    char   *extent;    /*     * Parse JCL.     */    if (argc != 2)	msg_fatal("usage: %s database", argv[0]);    msg_verbose = 1;    /*     * Initialize.     */    mail_conf_read();    path = maps_create(argv[0], argv[1], DICT_FLAG_LOCK | DICT_FLAG_FOLD_FIX);    while (vstring_fgets_nonl(buffer, VSTREAM_IN)) {	extent = 0;	result = mail_addr_find(path, STR(buffer), &extent);	vstream_printf("%s -> %s (%s)/n", STR(buffer), result ? result :		       path->error ? "(try again)" :		       "(not found)", extent ? extent : "null extension");	vstream_fflush(VSTREAM_OUT);	if (extent)	    myfree(extent);    }    vstring_free(buffer);    maps_free(path);    return (0);}
开发者ID:Gelma,项目名称:Postfix,代码行数:34,


示例10: verify_service

static void verify_service(VSTREAM *client_stream, char *unused_service,			           char **argv){    VSTRING *request = vstring_alloc(10);    /*     * Sanity check. This service takes no command-line arguments.     */    if (argv[0])	msg_fatal("unexpected command-line argument: %s", argv[0]);    /*     * This routine runs whenever a client connects to the socket dedicated     * to the address verification service. All connection-management stuff     * is handled by the common code in multi_server.c.     */    if (attr_scan(client_stream,		  ATTR_FLAG_MORE | ATTR_FLAG_STRICT,		  RECV_ATTR_STR(MAIL_ATTR_REQ, request),		  ATTR_TYPE_END) == 1) {	if (STREQ(STR(request), VRFY_REQ_UPDATE)) {	    verify_update_service(client_stream);	} else if (STREQ(STR(request), VRFY_REQ_QUERY)) {	    verify_query_service(client_stream);	} else {	    msg_warn("unrecognized request: /"%s/", ignored", STR(request));	    attr_print(client_stream, ATTR_FLAG_NONE,		       SEND_ATTR_INT(MAIL_ATTR_STATUS, VRFY_STAT_BAD),		       ATTR_TYPE_END);	}    }    vstream_fflush(client_stream);    vstring_free(request);}
开发者ID:Jingeun,项目名称:tongsu_smtp,代码行数:34,


示例11: main

int     main(int argc, char **argv){    STRING_LIST *list;    char   *string;    int     ch;    msg_vstream_init(argv[0], VSTREAM_ERR);    while ((ch = GETOPT(argc, argv, "v")) > 0) {	switch (ch) {	case 'v':	    msg_verbose++;	    break;	default:	    usage(argv[0]);	}    }    if (argc != optind + 2)	usage(argv[0]);    list = string_list_init(MATCH_FLAG_NONE, argv[optind]);    string = argv[optind + 1];    vstream_printf("%s: %s/n", string, string_list_match(list, string) ?		   "YES" : "NO");    vstream_fflush(VSTREAM_OUT);    string_list_free(list);}
开发者ID:TonyChengTW,项目名称:Rmail,代码行数:26,


示例12: postmap_seq

static void postmap_seq(const char *map_type, const char *map_name,			        int dict_flags){    DICT   *dict;    const char *key;    const char *value;    int     func;    if (strcmp(map_type, DICT_TYPE_PROXY) == 0)	msg_fatal("can't sequence maps via the proxy service");    dict = dict_open3(map_type, map_name, O_RDONLY, dict_flags);    for (func = DICT_SEQ_FUN_FIRST; /* void */ ; func = DICT_SEQ_FUN_NEXT) {	if (dict_seq(dict, func, &key, &value) != 0)	    break;	if (*key == 0) {	    msg_warn("table %s:%s: empty lookup key value is not allowed",		     map_type, map_name);	} else if (*value == 0) {	    msg_warn("table %s:%s: key %s: empty string result is not allowed",		     map_type, map_name, key);	    msg_warn("table %s:%s should return NO RESULT in case of NOT FOUND",		     map_type, map_name);	}	vstream_printf("%s	%s/n", key, value);    }    if (dict->error)	msg_fatal("table %s:%s: sequence error: %m", dict->type, dict->name);    vstream_fflush(VSTREAM_OUT);    dict_close(dict);}
开发者ID:jsarenik,项目名称:postfix-musl,代码行数:30,


示例13: main

int     main(int argc, char **argv){    DOMAIN_LIST *list;    char   *host;    int     ch;    msg_vstream_init(argv[0], VSTREAM_ERR);    while ((ch = GETOPT(argc, argv, "v")) > 0) {	switch (ch) {	case 'v':	    msg_verbose++;	    break;	default:	    usage(argv[0]);	}    }    if (argc != optind + 2)	usage(argv[0]);    list = domain_list_init(MATCH_FLAG_PARENT, argv[optind]);    host = argv[optind + 1];    vstream_printf("%s: %s/n", host, domain_list_match(list, host) ?		   "YES" : "NO");    vstream_fflush(VSTREAM_OUT);    domain_list_free(list);    return (0);}
开发者ID:VargMon,项目名称:netbsd-cvs-mirror,代码行数:27,


示例14: edit_file_close

int     edit_file_close(EDIT_FILE *ep){    VSTREAM *fp = ep->tmp_fp;    int     fd = vstream_fileno(fp);    int     saved_errno;    /*     * The rename/unlock portion of the protocol is relatively simple. The     * only things that really matter here are that we change permissions as     * late as possible, and that we rename the file to its final pathname     * before we lose the exclusive lock.     *      * Applications that are concerned about maximal safety should protect the     * edit_file_close() call with sigdelay() and sigresume() calls. It is     * not safe for us to call these functions directly, because the calls do     * not nest. It is also not nice to force every caller to run with     * interrupts turned off.     */    if (vstream_fflush(fp) < 0	|| fchmod(fd, ep->final_mode) < 0#ifdef HAS_FSYNC	|| fsync(fd) < 0#endif	|| rename(ep->tmp_path, ep->final_path) < 0) {	saved_errno = errno;	edit_file_cleanup(ep);	errno = saved_errno;	return (VSTREAM_EOF);    } else {	(void) vstream_fclose(ep->tmp_fp);	EDIT_FILE_FREE(ep);	return (0);    }}
开发者ID:ystk,项目名称:debian-postfix,代码行数:34,


示例15: print_parameter

static void print_parameter(int mode, char *ptr){#define INSIDE(p,t) (ptr >= (char *) t && ptr < ((char *) t) + sizeof(t))    /*     * This is gross, but the best we can do on short notice.     */    if (INSIDE(ptr, time_table))	print_time(mode, (CONFIG_TIME_TABLE *) ptr);    if (INSIDE(ptr, bool_table))	print_bool(mode, (CONFIG_BOOL_TABLE *) ptr);    if (INSIDE(ptr, int_table))	print_int(mode, (CONFIG_INT_TABLE *) ptr);    if (INSIDE(ptr, str_table))	print_str(mode, (CONFIG_STR_TABLE *) ptr);    if (INSIDE(ptr, str_fn_table))	print_str_fn(mode, (CONFIG_STR_FN_TABLE *) ptr);    if (INSIDE(ptr, str_fn_table_2))	print_str_fn_2(mode, (CONFIG_STR_FN_TABLE *) ptr);    if (INSIDE(ptr, raw_table))	print_raw(mode, (CONFIG_RAW_TABLE *) ptr);    if (INSIDE(ptr, nint_table))	print_nint(mode, (CONFIG_NINT_TABLE *) ptr);    if (msg_verbose)	vstream_fflush(VSTREAM_OUT);}
开发者ID:ystk,项目名称:debian-postfix,代码行数:27,


示例16: main

int     main(int argc, char **argv){    INET_ADDR_LIST list;    struct sockaddr_storage *sa;    MAI_HOSTADDR_STR hostaddr;    INET_PROTO_INFO *proto_info;    msg_vstream_init(argv[0], VSTREAM_ERR);    if (argc < 3)	msg_fatal("usage: %s protocols hostname...", argv[0]);    proto_info = inet_proto_init(argv[0], argv[1]);    argv += 1;    while (--argc && *++argv) {	inet_addr_list_init(&list);	if (inet_addr_host(&list, *argv) == 0)	    msg_fatal("not found: %s", *argv);	for (sa = list.addrs; sa < list.addrs + list.used; sa++) {	    SOCKADDR_TO_HOSTADDR(SOCK_ADDR_PTR(sa), SOCK_ADDR_LEN(sa),				 &hostaddr, (MAI_SERVPORT_STR *) 0, 0);	    vstream_printf("%s/t%s/n", *argv, hostaddr.buf);	}	vstream_fflush(VSTREAM_OUT);	inet_addr_list_free(&list);    }    return (0);}
开发者ID:DabeDotCom,项目名称:postfix,代码行数:30,


示例17: main

int     main(int unused_argc, char **argv){    HTABLE *table = htable_create(1);    msg_vstream_init(argv[0], VSTREAM_ERR);    msg_verbose = 1;    htable_enter(table, "foo-name", mystrdup("foo-value"));    htable_enter(table, "bar-name", mystrdup("bar-value"));    attr_print64(VSTREAM_OUT, ATTR_FLAG_NONE,		 ATTR_TYPE_NUM, ATTR_NAME_NUM, 4711,		 ATTR_TYPE_LONG, ATTR_NAME_LONG, 1234,		 ATTR_TYPE_STR, ATTR_NAME_STR, "whoopee",		 ATTR_TYPE_HASH, table,		 ATTR_TYPE_END);    attr_print64(VSTREAM_OUT, ATTR_FLAG_NONE,		 ATTR_TYPE_NUM, ATTR_NAME_NUM, 4711,		 ATTR_TYPE_LONG, ATTR_NAME_LONG, 1234,		 ATTR_TYPE_STR, ATTR_NAME_STR, "whoopee",		 ATTR_TYPE_END);    if (vstream_fflush(VSTREAM_OUT) != 0)	msg_fatal("write error: %m");    htable_free(table, myfree);    return (0);}
开发者ID:TonyChengTW,项目名称:Rmail,代码行数:25,


示例18: main

int     main(int unused_argc, char **unused_argv){    static int seconds;    static int minutes;    static int hours;    static int days;    static int weeks;    static const CONFIG_TIME_TABLE time_table[] = {	"seconds", "10s", &seconds, 0, 0,	"minutes", "10m", &minutes, 0, 0,	"hours", "10h", &hours, 0, 0,	"days", "10d", &days, 0, 0,	"weeks", "10w", &weeks, 0, 0,	0,    };    get_mail_conf_time_table(time_table);    vstream_printf("10 seconds = %d/n", seconds);    vstream_printf("10 minutes = %d/n", minutes);    vstream_printf("10 hours = %d/n", hours);    vstream_printf("10 days = %d/n", days);    vstream_printf("10 weeks = %d/n", weeks);    vstream_fflush(VSTREAM_OUT);    return (0);}
开发者ID:ajinkya93,项目名称:netbsd-src,代码行数:25,


示例19: main

int     main(int unused_argc, char **argv){    HTABLE *table = htable_create(1);    msg_vstream_init(argv[0], VSTREAM_ERR);    msg_verbose = 1;    htable_enter(table, "foo-name", mystrdup("foo-value"));    htable_enter(table, "bar-name", mystrdup("bar-value"));    attr_print64(VSTREAM_OUT, ATTR_FLAG_NONE,		 SEND_ATTR_INT(ATTR_NAME_INT, 4711),		 SEND_ATTR_LONG(ATTR_NAME_LONG, 1234L),		 SEND_ATTR_STR(ATTR_NAME_STR, "whoopee"),	       SEND_ATTR_DATA(ATTR_NAME_DATA, strlen("whoopee"), "whoopee"),		 SEND_ATTR_HASH(table),		 SEND_ATTR_LONG(ATTR_NAME_LONG, 4321L),		 ATTR_TYPE_END);    attr_print64(VSTREAM_OUT, ATTR_FLAG_NONE,		 SEND_ATTR_INT(ATTR_NAME_INT, 4711),		 SEND_ATTR_LONG(ATTR_NAME_LONG, 1234L),		 SEND_ATTR_STR(ATTR_NAME_STR, "whoopee"),	       SEND_ATTR_DATA(ATTR_NAME_DATA, strlen("whoopee"), "whoopee"),		 ATTR_TYPE_END);    if (vstream_fflush(VSTREAM_OUT) != 0)	msg_fatal("write error: %m");    htable_free(table, myfree);    return (0);}
开发者ID:DabeDotCom,项目名称:postfix,代码行数:28,


示例20: main

int     main(int argc, char **argv){    int     pair1[2];    int     pair2[2];    msg_vstream_init(argv[0], VSTREAM_ERR);#define DELAY 1    if (socketpair(AF_UNIX, SOCK_STREAM, 0, pair1) < 0)	msg_fatal("socketpair: %m");    if (socketpair(AF_UNIX, SOCK_STREAM, 0, pair2) < 0)	msg_fatal("socketpair: %m");    vstream_printf("Doing multiple select on socket1, then write to it.../n");    vstream_fflush(VSTREAM_OUT);    fork_and_read_select("socket1", DELAY, pair1[0]);	/* one */    fork_and_read_select("socket1", DELAY, pair1[0]);	/* two */    fork_and_read_select("socket2", DELAY, pair2[0]);    fork_and_read_select("stdin", DELAY, 0);    if (write(pair1[1], "", 1) != 1)	msg_fatal("write: %m");    while (wait((int *) 0) >= 0)	 /* void */ ;    return (0);}
开发者ID:ajinkya93,项目名称:netbsd-src,代码行数:26,


示例21: resolve_proto

int     resolve_proto(RES_CONTEXT *context, VSTREAM *stream){    int     flags;    if (attr_scan(stream, ATTR_FLAG_STRICT,		  ATTR_TYPE_STR, MAIL_ATTR_ADDR, query,		  ATTR_TYPE_END) != 1)	return (-1);    resolve_addr(context, STR(query),		 channel, nexthop, nextrcpt, &flags);    if (msg_verbose)	msg_info("%s -> (`%s' `%s' `%s' `%d')", STR(query), STR(channel),		 STR(nexthop), STR(nextrcpt), flags);    attr_print(stream, ATTR_FLAG_NONE,	       ATTR_TYPE_STR, MAIL_ATTR_TRANSPORT, STR(channel),	       ATTR_TYPE_STR, MAIL_ATTR_NEXTHOP, STR(nexthop),	       ATTR_TYPE_STR, MAIL_ATTR_RECIP, STR(nextrcpt),	       ATTR_TYPE_NUM, MAIL_ATTR_FLAGS, flags,	       ATTR_TYPE_END);    if (vstream_fflush(stream) != 0) {	msg_warn("write resolver reply: %m");	return (-1);    }    return (0);}
开发者ID:TonyChengTW,项目名称:Rmail,代码行数:29,


示例22: main

int     main(int argc, char **argv){    VSTRING *buf = vstring_alloc(100);    MAPS   *maps;    const char *result;    if (argc != 2)	msg_fatal("usage: %s maps", argv[0]);    msg_verbose = 2;    maps = maps_create("whatever", argv[1], DICT_FLAG_LOCK);    while (vstring_fgets_nonl(buf, VSTREAM_IN)) {	if ((result = maps_find(maps, vstring_str(buf), 0)) != 0) {	    vstream_printf("%s/n", result);	} else if (dict_errno != 0) {	    msg_fatal("lookup error: %m");	} else {	    vstream_printf("not found/n");	}	vstream_fflush(VSTREAM_OUT);    }    maps_free(maps);    vstring_free(buf);    return (0);}
开发者ID:ystk,项目名称:debian-postfix,代码行数:25,


示例23: main

int     main(int unused_argc, char **unused_argv){    VSTRING *vp = vstring_alloc(10);    int     tok_argc;    POP3D_TOKEN *tok_argv;    int     i;    for (;;) {	if (isatty(STDIN_FILENO))	    vstream_printf("enter POP3D command: ");	vstream_fflush(VSTREAM_OUT);	if (vstring_get_nonl(vp, VSTREAM_IN) == VSTREAM_EOF)	    break;	if (*vstring_str(vp) == '#')	    continue;	if (!isatty(STDIN_FILENO))	    vstream_printf("%s/n", vstring_str(vp));	tok_argc = pop3d_token(vstring_str(vp), &tok_argv);	for (i = 0; i < tok_argc; i++) {	    vstream_printf("Token type:  %s/n",			   tok_argv[i].tokval == POP3D_TOK_OTHER ? "other" :			   tok_argv[i].tokval == POP3D_TOK_ERROR ? "error" :			   "unknown");	    vstream_printf("Token value: %s/n", tok_argv[i].strval);	}    }    exit(0);}
开发者ID:TonyChengTW,项目名称:Rmail,代码行数:28,


示例24: cleanup_final

void    cleanup_final(CLEANUP_STATE *state){    const char *myname = "cleanup_final";    /*     * vstream_fseek() would flush the buffer anyway, but the code just reads     * better if we flush first, because it makes seek error handling more     * straightforward.     */    if (vstream_fflush(state->dst)) {	if (errno == EFBIG) {	    msg_warn("%s: queue file size limit exceeded", state->queue_id);	    state->errs |= CLEANUP_STAT_SIZE;	} else {	    msg_warn("%s: write queue file: %m", state->queue_id);	    state->errs |= CLEANUP_STAT_WRITE;	}	return;    }    /*     * Update the preliminary message size and count fields with the actual     * values.     */    if (vstream_fseek(state->dst, 0L, SEEK_SET) < 0)	msg_fatal("%s: vstream_fseek %s: %m", myname, cleanup_path);    cleanup_out_format(state, REC_TYPE_SIZE, REC_TYPE_SIZE_FORMAT,	    (REC_TYPE_SIZE_CAST1) (state->xtra_offset - state->data_offset),		       (REC_TYPE_SIZE_CAST2) state->data_offset,		       (REC_TYPE_SIZE_CAST3) state->rcpt_count,		       (REC_TYPE_SIZE_CAST4) state->qmgr_opts,		       (REC_TYPE_SIZE_CAST5) state->cont_length);}
开发者ID:ajinkya93,项目名称:netbsd-src,代码行数:33,



注:本文中的vstream_fflush函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ vstream_fileno函数代码示例
C++ vstream_fclose函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。