这篇教程C++ Brdline函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Brdline函数的典型用法代码示例。如果您正苦于以下问题:C++ Brdline函数的具体用法?C++ Brdline怎么用?C++ Brdline使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Brdline函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: rowloadfonts/* * Get font names from load file so we don't load fonts we won't use */voidrowloadfonts(char *file){ int i; Biobuf *b; char *l; b = Bopen(file, OREAD); if(b == nil) return; /* current directory */ l = Brdline(b, '/n'); if(l == nil) goto Return; /* global fonts */ for(i=0; i<2; i++){ l = Brdline(b, '/n'); if(l == nil) goto Return; l[Blinelen(b)-1] = 0; if(*l && strcmp(l, fontnames[i])!=0){ free(fontnames[i]); fontnames[i] = estrdup(l); } } Return: Bterm(b);}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:31,
示例2: mainmain(void){ char *re; char *line; Reprog *prog; char *cp; Biobuf in; Binit(&in, 0, OREAD); print("re> "); while(re = Brdline(&in, '/n')){ re[Blinelen(&in)-1] = 0; if(*re == 0) break; prog = regcomp(re); print("> "); while(line = Brdline(&in, '/n')){ line[Blinelen(&in)-1] = 0; if(cp = strchr(line, '/n')) *cp = 0; if(*line == 0) break; if(regexec(prog, line, 0)) print("yes/n"); else print("no/n"); print("> "); } print("re> "); }}
开发者ID:99years,项目名称:plan9,代码行数:31,
示例3: rune2html/* * Translate Unicode to HTML by asking tcs(1). * This way we don't have yet another table. */Rune*rune2html(Rune r){ static Biobuf b; static int fd = -1; static Rune **tcscache[256]; int p[2]; char *q; if(r == '/n') return L("/n"); if(((uint)r&~0xFFFF) != 0){ /* The cache must grow a lot to handle them */ fprint(2, "%s: can't handle rune '%C'/n", argv0, r); return L("?"); } if(tcscache[r>>8] && tcscache[r>>8][r&0xFF]) return tcscache[r>>8][r&0xFF]; if(fd < 0){ if(pipe(p) < 0) sysfatal("pipe: %r"); switch(fork()){ case -1: sysfatal("fork: %r"); case 0: dup2(p[0], 0); dup2(p[1], 1); close(p[0]); close(p[1]); execl(BINDIR "/tcs", "tcs", "-t", "html", nil); _exits(0); default: fd = p[1]; Binit(&b, p[0], OREAD); break; } } /* HACK: extra newlines force rune+/n through tcs now */ fprint(fd, "%C/n/n/n/n", r); q = Brdline(&(b.Biobufhdr), '/n'); while (q != nil && *q == '/n') q = Brdline(&(b.Biobufhdr), '/n'); if(q == nil) sysfatal("tcs: early eof"); q[Blinelen(&(b.Biobufhdr))-1] = 0; if(tcscache[r>>8] == nil) tcscache[r>>8] = emalloc(256*sizeof tcscache[0][0]); tcscache[r>>8][r&0xFF] = erunesmprint("%s", q); return tcscache[r>>8][r&0xFF];}
开发者ID:n-t-roff,项目名称:Plan9_troff,代码行数:57,
示例4: readsnapProc*readsnap(Biobuf *b){ char *q; char buf[12]; int32_t pid; Proc *p, *plist; int i, n; if((q = Brdline(b, '/n')) == nil) panic("error reading snapshot file"); if(strncmp(q, "process snapshot", strlen("process snapshot")) != 0) panic("bad snapshot file format"); plist = nil; while(q = Brdline(b, '/n')) { q[Blinelen(b)-1] = 0; pid = atol(q); q += 12; p = findpid(plist, pid); if(p == nil) { p = emalloc(sizeof(*p)); p->link = plist; p->pid = pid; plist = p; } for(i=0; i<Npfile; i++) { if(strcmp(pfile[i], q) == 0) { p->d[i] = readdata(b); break; } } if(i != Npfile) continue; if(strcmp(q, "mem") == 0) { if(Bread(b, buf, 12) != 12) panic("can't read memory section"); n = atoi(buf); p->nseg = n; p->seg = emalloc(n*sizeof(*p->seg)); for(i=0; i<n; i++) readseg(&p->seg[i], b, plist); } else if(strcmp(q, "text") == 0) readseg(&p->text, b, plist); else panic("unknown section"); } return plist;}
开发者ID:aahud,项目名称:harvey,代码行数:50,
示例5: menuintmenu(Biobuf *bp, int net){ char *cp; int done; comm->stopped = 1; rawoff(); fprint(2, ">>> "); for(done = 0; !done; ){ cp = Brdline(bp, '/n'); if(cp == 0){ comm->stopped = 0; return -1; } cp[Blinelen(bp)-1] = 0; switch(*cp){ case '!': system(Bfildes(bp), cp+1); done = 1; break; case '.': done = 1; break; case 'q': comm->stopped = 0; return -1; case 'o': switch(*(cp+1)){ case 'd': send3(net, Iac, Do, atoi(cp+2)); break; case 'w': send3(net, Iac, Will, atoi(cp+2)); break; } break; case 'r': comm->returns = !comm->returns; done = 1; break; case 'i': send2(net, Iac, Interrupt); break; case 'b': send2(net, Iac, Break); break; default: fprint(2, STDHELP); break; } if(!done) fprint(2, ">>> "); } rawon(); comm->stopped = 0; return 0;}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:60,
示例6: threadmainvoidthreadmain(int argc, char *argv[]){ char *errmsg; int ac; char *ap, *av[256]; Cmd *cp; int32_t status; if (argc > 3) { print("usage: cifscmd [to [share]]/n"); exits("args"); } smbglobalsguess(1); errmsg = nil; if (Binit(&bin, 0, OREAD) == Beof || Binit(&bout, 1, OWRITE) == Beof) { fprint(2, "%s: can't init bio: %r/n", argv0); threadexits("Binit"); } if (argc > 1) { c = smbconnect(argv[1], argc == 3 ? argv[2] : nil, &errmsg); if (c == nil) fprint(2, "failed to connect: %s/n", errmsg); } while (ap = Brdline(&bin, '/n')) { ap[Blinelen(&bin) - 1] = 0; switch (ac = parse(ap, av, nelem(av))) { default: for (cp = cmd; cp->name; cp++) { if (strcmp(cp->name, av[0]) == 0) break; } if (cp->name == 0) { Bprint(&bout, "eh?/n"); break; } if (c == 0 && cp->connected) { Bprint(&bout, "not currently connected/n"); break; } if ((status = (*cp->f)(c, ac - 1, &av[1])) != -1) { if(verbose) Bprint(&bout, "ok %ld/%ld/n", status >> 16, status & 0xffff); break; } break; case -1: Bprint(&bout, "eh?/n"); break; case 0: break; } Bflush(&bout); } threadexits(0);}
开发者ID:bhanug,项目名称:harvey,代码行数:60,
示例7: awkintawk(Biobuf *b, char **field, int n){ char *line; int i; while(line = Brdline(b, '/n')){ line[Blinelen(b)-1] = 0; while(*line == ' ' || *line == '/t') *line++ = 0; for(i = 0; i < n; i++){ if(*line == 0 || *line == '#') break; field[i] = line; while(*line && *line != ' ' && *line != '/t') line++; while(*line == ' ' || *line == '/t') *line++ = 0; } if(i) return i; } return 0;}
开发者ID:99years,项目名称:plan9,代码行数:25,
示例8: readroutesvoidreadroutes(void){ int n; char *p; Biobuf *b; char *f[6]; Route route; b = Bopen(routefile, OREAD); if(b == 0) return; while(p = Brdline(b, '/n')){ p[Blinelen(b)-1] = 0; n = getfields(p, f, 6, 1, " /t"); if(n < 5) continue; v4parseip(route.dest, f[0]); v4parseipmask(route.mask, f[1]); v4parseip(route.gate, f[2]); route.metric = Infinity; if(equivip(route.dest, ralloc.def.dest) && equivip(route.mask, ralloc.def.mask)) memmove(ralloc.def.gate, route.gate, Pasize); else if(!equivip(route.dest, route.gate) && strchr(f[3], 'i') == 0) considerroute(&route); } Bterm(b);}
开发者ID:aahud,项目名称:harvey,代码行数:29,
示例9: wrdintwrd(void){ static int nlines; char *l, *src[13]; int n; l = Brdline(wr, '/n'); if(l == 0) return -1; ++nlines; l[BLINELEN(wr)-1] = 0; n = strparse(l, src, 13, " "); if(n != 12 || src[0][0] == 0 || src[0][1] != 0){ fprint(2, "wrap file format error, line %d/n", nlines); exits("format"); } wbuf.stype = src[0][0]; wbuf.mark = strtol(src[1], 0, 10); strncpy(wbuf.sname, src[2], sizeof wbuf.sname); wbuf.slen = strtol(src[3], 0, 10); coord(&wbuf.pent[0], &src[4]); coord(&wbuf.pent[1], &src[8]); return 0;}
开发者ID:kahrs,项目名称:cda,代码行数:25,
示例10: conslockintconslock(void){ char *ln; char nkey1[DESKEYLEN]; static char zeroes[DESKEYLEN]; if(memcmp(nvr.machkey, zeroes, DESKEYLEN) == 0) { print("no password set/n"); return 0; } for(;;) { print("%s password:", service); /* could turn off echo here */ if ((ln = Brdline(&bin, '/n')) == nil) return 0; ln[Blinelen(&bin)-1] = '/0'; /* could turn on echo here */ memset(nkey1, 0, DESKEYLEN); passtokey(nkey1, ln); if(memcmp(nkey1, nvr.machkey, DESKEYLEN) == 0) { prdate(); break; } print("Bad password/n"); delay(1000); } return 1;}
开发者ID:Nurb432,项目名称:plan9front,代码行数:33,
示例11: mainvoidmain(int argc, char *argv[]){ double n; int i; char *l; if(argc > 1) { for(i=1; i<argc; i++) { n = atof(argv[i]); factor(n); } exits(0); } Binit(&bin, 0, OREAD); for(;;) { l = Brdline(&bin, '/n'); if(l == 0) break; n = atof(l); if(n <= 0) break; factor(n); } exits(0);}
开发者ID:00001,项目名称:plan9port,代码行数:27,
示例12: contentinitvoidcontentinit(void){ static Biobuf *b = nil; static Qid qid; char *file, *s; Suffix *this; file = "/sys/lib/mimetype"; if(b == nil){ /* first time */ b = Bopen(file, OREAD); if(b == nil) sysfatal("can't read from %s", file); } if(updateQid(Bfildes(b), &qid) == 0) return; Bseek(b, 0, 0); while(suffixes!=nil){ this = suffixes; suffixes = suffixes->next; free(this->suffix); free(this->generic); free(this->specific); free(this->encoding); free(this); } while((s = Brdline(b, '/n')) != nil){ s[Blinelen(b) - 1] = 0; suffixes = parsesuffix(s, suffixes); }}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:32,
示例13: inqsizeDevsizeinqsize(char *file){ int nf; char *ln, *end, *data = malloc(strlen(file) + 5 + 1); char *fields[4]; Devsize rv = -1; Biobuf *bp; strcpy(data, file); end = strstr(data, "/data"); if (end == nil) strcat(data, "/ctl"); else strcpy(end, "/ctl"); bp = Bopen(data, OREAD); if (bp) { while (rv < 0 && (ln = Brdline(bp, '/n')) != nil) { ln[Blinelen(bp)-1] = '/0'; nf = tokenize(ln, fields, nelem(fields)); if (nf == 3 && strcmp(fields[0], "geometry") == 0) rv = atoi(fields[2]); } Bterm(bp); } free(data); return rv;}
开发者ID:Requaos,项目名称:harvey,代码行数:28,
示例14: okfilestatic intokfile(char *cp, Biobuf *fp){ char *buf; int len; char *bp, *ep; int c; len = strlen(cp); Bseek(fp, 0, 0); /* one iteration per system name in the file */ while(buf = Brdline(fp, '/n')) { ep = &buf[Blinelen(fp)]; for(bp=buf; bp < ep;){ while(isspace(*bp) || *bp==',') bp++; if(strncmp(bp, cp, len) == 0) { c = *(bp+len); if(isspace(c) || c==',') return 1; } while(bp < ep && (!isspace(*bp)) && *bp!=',') bp++; } } /* didn't find it, prohibit forwarding */ return 0;}
开发者ID:00001,项目名称:plan9port,代码行数:30,
示例15: msgheadlinevoidmsgheadline(Biobuf *bin, int n, Biobuf *bout){ char *p, *q; char *date; char *from; char *subject; date = nil; from = nil; subject = nil; while(p = Brdline(bin, '/n')){ p[Blinelen(bin)-1] = '/0'; if((q = strchr(p, ':')) == nil) continue; *q++ = '/0'; if(cistrcmp(p, "from")==0) from = fixfrom(skipwhite(q)); else if(cistrcmp(p, "subject")==0) subject = estrdup(skipwhite(q)); else if(cistrcmp(p, "date")==0) date = fixdate(skipwhite(q)); } Bprint(bout, "%d//t%s", n, from ? from : ""); if(date) Bprint(bout, "/t%s", date); if(subject) Bprint(bout, "/n/t%s", subject); Bprint(bout, "/n"); free(date); free(from); free(subject);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:35,
示例16: buildmapstatic voidbuildmap(Biobuf *fp) /* map goes from char name to value to print via *string() */{ uchar *p, *line, ch[100]; int val; Rune r; curmap++; if(curmap >= NMAP) { fprint(2, "proof: out of char maps; recompile/n"); exits("charmap"); } while ((line = Brdline(fp, '/n'))!= 0) { if (line[0] == '/n') return; line[Blinelen(fp)-1] = 0; scanstr((char *) line, (char *) ch, (char **) &p); if (ch[0] == '/0') { fprint(2, "bad map file line '%s'/n", (char*)line); continue; } val = strtol((char *) p, 0, 10); dprint(2, "buildmap %s (%x %x) %s %d/n", (char*)ch, ch[0], ch[1], (char*)p, val); chartorune(&r, (char*)ch); if(utflen((char*)ch)==1 && r<QUICK) charmap[curmap].quick[r] = val; else addmap(curmap, strdup((char *) ch), val); /* put somewhere else */ }}
开发者ID:grobe0ba,项目名称:plan9front,代码行数:30,
示例17: nextar/* * look for the next file in an archive. * adapted from libmach. */static vlongnextar(Biobuf *bp, vlong off, struct ar_hdr *a){ int r; int32 arsize; char *buf; if (off&01) off++; Bseek(bp, off, 0); buf = Brdline(bp, '/n'); r = Blinelen(bp); if(buf == nil) { if(r == 0) return 0; return -1; } if(r != SAR_HDR) return -1; memmove(a, buf, SAR_HDR); if(strncmp(a->fmag, ARFMAG, sizeof a->fmag)) return -1; arsize = strtol(a->size, 0, 0); if (arsize&1) arsize++; return arsize + r;}
开发者ID:TomHoenderdos,项目名称:go-sunos,代码行数:31,
示例18: rdbiovoidrdbio(char *file, char *user, Acctbio *a){ int i,n; Biobuf *b; char *p; char *field[20]; memset(a, 0, sizeof(Acctbio)); b = Bopen(file, OREAD); if(b != 0){ while(p = Brdline(b, '/n')){ p[Blinelen(b)-1] = 0; n = getfields(p, field, nelem(field), 0, "|"); if(n < 4) continue; if(strcmp(field[0], user) != 0) continue; clrbio(a); a->postid = strdup(field[1]); a->name = strdup(field[2]); a->dept = strdup(field[3]); if(n-4 >= Nemail) n = Nemail-4; for(i = 4; i < n; i++) a->email[i-4] = strdup(field[i]); } Bterm(b); } a->user = strdup(user);}
开发者ID:Nurb432,项目名称:plan9front,代码行数:33,
示例19: noworld/* * see if user is in the group noworld, i.e., has all file * priviledges masked with 770, and all directories with * 771, before checking access rights */intnoworld(char *user){ Biobuf *b; char *p; int n; b = Bopen("/adm/users", OREAD); if(b == nil) return 0; while((p = Brdline(b, '/n')) != nil){ p[Blinelen(b)-1] = 0; p = strchr(p, ':'); if(p == nil) continue; if(strncmp(p, ":noworld:", 9) == 0){ p += 9; break; } } n = strlen(user); while(p != nil && *p != 0){ p = strstr(p, user); if(p == nil) break; if(*(p-1) == ':' || *(p-1) == ',') if(*(p+n) == ':' || *(p+n) == ',' || *(p+n) == 0){ Bterm(b); return 1; } p++; } Bterm(b); return 0;}
开发者ID:99years,项目名称:plan9,代码行数:40,
示例20: exclusionsvoidexclusions(void){ Biobuf *f; int ni, nmaxi, ne, nmaxe; char *line; if(patternfile == nil) return; f = Bopen(patternfile, OREAD); if(f == nil) fatal("cannot open patternfile"); ni = 0; nmaxi = 100; include = malloc(nmaxi*sizeof(*include)); if(include == nil) fatal("out of memory"); include[0] = nil; ne = 0; nmaxe = 100; exclude = malloc(nmaxe*sizeof(*exclude)); if(exclude == nil) fatal("out of memory"); exclude[0] = nil; while(line = Brdline(f, '/n')){ line[Blinelen(f) - 1] = 0; if(strlen(line) < 2 || line[1] != ' ') continue; switch(line[0]){ case '+': if(ni+1 >= nmaxi){ nmaxi = 2*nmaxi; include = realloc(include, nmaxi*sizeof(*include)); if(include == nil) fatal("out of memory"); } DEBUG(DFD, "/tinclude %s/n", line+2); include[ni] = regcomp(line+2); include[++ni] = nil; break; case '-': if(ne+1 >= nmaxe){ nmaxe = 2*nmaxe; exclude = realloc(exclude, nmaxe*sizeof(*exclude)); if(exclude == nil) fatal("out of memory"); } DEBUG(DFD, "/texclude %s/n", line+2); exclude[ne] = regcomp(line+2); exclude[++ne] = nil; break; default: DEBUG(DFD, "ignoring pattern %s/n", line); break; } } Bterm(f);}
开发者ID:99years,项目名称:plan9,代码行数:59,
示例21: mainvoidmain(int argc, char *argv[]){ int n; Biobuf in; char *p; char *f[4]; strcpy(mntpt, "/net"); cfg.inside = 1; ARGBEGIN{ case 'f': dbfile = EARGF(usage()); break; case 'r': cfg.resolver = 1; break; case 'x': dbfile = "/lib/ndb/external"; strcpy(mntpt, "/net.alt"); break; default: usage(); }ARGEND now = time(nil); nowns = nsec(); dninit(); fmtinstall('R', prettyrrfmt); if(myipaddr(ipaddr, mntpt) < 0) sysfatal("can't read my ip address"); opendatabase(); if(cfg.resolver) squirrelserveraddrs(); debug = 1; if(argc > 0){ docmd(argc, argv); exits(0); } Binit(&in, 0, OREAD); for(print("> "); p = Brdline(&in, '/n'); print("> ")){ p[Blinelen(&in)-1] = 0; n = tokenize(p, f, 3); if(n>=1) { dnpurge(); /* flush the cache */ docmd(n, f); } } exits(0);}
开发者ID:npe9,项目名称:harvey,代码行数:55,
示例22: replywindowvoidreplywindow(Article *m){ Biobuf *b; char *p, *ep, *q, tmp[40]; int fd, copy; Article *reply; sprint(tmp, "%d/article", m->n); p = estrstrdup(dir, tmp); if((fd = open(p, OREAD)) < 0){ free(p); return; } free(p); reply = newpost(); winopenbody(reply->w, OWRITE); b = emalloc(sizeof(*b)); Binit(b, fd, OREAD); copy = 0; while(p = Brdline(b, '/n')){ if(Blinelen(b)==1) break; ep = p+Blinelen(b); if(!isspace(*p)){ copy = 0; if(cistrncmp(p, "newsgroups:", 11)==0){ for(q=p+11; *q!='/n'; q++) if(*q==',') *q = ' '; copy = 1; }else if(cistrncmp(p, "subject:", 8)==0){ if(!strstr(p, " Re:") && !strstr(p, " RE:") && !strstr(p, " re:")){ p = skip(p, "subject:"); ep[-1] = '/0'; Bprint(reply->w->body, "Subject: Re: %s/n", p); }else copy = 1; }else if(cistrncmp(p, "message-id:", 11)==0){ Bprint(reply->w->body, "References: "); p += 11; copy = 1; } } if(copy) Bwrite(reply->w->body, p, ep-p); } Bterm(b); close(fd); free(b); Bprint(reply->w->body, "/n"); winclean(reply->w); winselect(reply->w, "$", 0);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:55,
示例23: rlogin/* * login to remote system */voidrlogin(char *rsys, char *keyspec){ char *line; char pass[128]; UserPasswd *up; up = nil; for(;;){ if(up == nil && os != Plan9) up = auth_getuserpasswd(auth_getkey, "proto=pass server=%s service=ftp %s", rsys, keyspec); if(up != nil){ sendrequest("USER", up->user); } else { print("User[default = %s]: ", user); line = Brdline(&stdin, '/n'); if(line == 0) exits(0); line[Blinelen(&stdin)-1] = 0; if(*line){ free(user); user = strdup(line); } sendrequest("USER", user); } switch(getreply(&ctlin, msg, sizeof(msg), 1)){ case Success: goto out; case Incomplete: break; case TempFail: case PermFail: continue; } if(up != nil){ sendrequest("PASS", up->passwd); } else { if(getpassword(pass, pass+sizeof(pass)) < 0) exits(0); sendrequest("PASS", pass); } if(getreply(&ctlin, msg, sizeof(msg), 1) == Success){ if(strstr(msg, "Sess#")) defos = MVS; break; } }out: if(up != nil){ memset(up, 0, sizeof(*up)); free(up); }}
开发者ID:99years,项目名称:plan9,代码行数:57,
示例24: rdlinestaticchar*rdline(Biobuf *b, int *linep){ char *l; l = Brdline(b, '/n'); if(l) (*linep)++; return l;}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:11,
示例25: findfromchar*findfrom(void){ char *p, *u; Biobuf *b; u = getuser(); if(u==nil) return "glenda"; p = estrstrstrdup("/usr/", u, "/lib/newsfrom"); b = Bopen(p, OREAD); free(p); if(b){ p = Brdline(b, '/n'); if(p){ p[Blinelen(b)-1] = '/0'; p = estrdup(p); Bterm(b); return p; } Bterm(b); } p = estrstrstrdup("/mail/box/", u, "/headers"); b = Bopen(p, OREAD); free(p); if(b){ while(p = Brdline(b, '/n')){ p[Blinelen(b)-1] = '/0'; if(cistrncmp(p, "from:", 5)==0){ p = estrdup(skip(p, "from:")); Bterm(b); return p; } } Bterm(b); } return u;}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:41,
示例26: threadmainvoidthreadmain(int argc, char *argv[]){ int n; Biobuf in; char *p; char *f[4]; strcpy(mntpt, "/net"); ARGBEGIN{ case 'r': resolver = 1; break; case 'f': dbfile = EARGF(usage()); break; default: usage(); }ARGEND now = time(0); dninit(); fmtinstall('R', prettyrrfmt); if(myipaddr(ipaddr, mntpt) < 0) sysfatal("can't read my ip address"); opendatabase(); if(resolver) squirrelserveraddrs(); debug = 1; if(argc > 0){ docmd(argc, argv); threadexitsall(0); } Binit(&in, 0, OREAD); for(print("> "); p = Brdline(&in, '/n'); print("> ")){ p[Blinelen(&in)-1] = 0; n = tokenize(p, f, 3); if(n<1) continue; /* flush the cache */ dnpurge(); docmd(n, f); } threadexitsall(0);}
开发者ID:00001,项目名称:plan9port,代码行数:53,
示例27: catvoidcat(int f, char *s){ Biobuf b; char *p; Binit(&b, f, OREAD); while((p = Brdline(&b, '/n')) != nil) if(write(1, p, Blinelen(&b)) != Blinelen(&b)) sysfatal("write error copying %s: %r", s); Bterm(&b);}
开发者ID:Requaos,项目名称:harvey,代码行数:12,
示例28: buildxheightstatic voidbuildxheight(Biobuf *fp) /* map goes from char name to value to print via *string() */{ char *line; line = Brdline(fp, '/n'); if(line == 0) { fprint(2, "proof: bad map file/n"); exits("map"); } charmap[curmap].xheight = atof(line);}
开发者ID:grobe0ba,项目名称:plan9front,代码行数:12,
示例29: okayintokay(char *quest){ char *ln; print("okay to %s? ", quest); if ((ln = Brdline(&bin, '/n')) == nil) return 0; ln[Blinelen(&bin)-1] = '/0'; if (isascii(*ln) && isupper(*ln)) *ln = tolower(*ln); return *ln == 'y';}
开发者ID:Requaos,项目名称:harvey,代码行数:13,
示例30: rdsendersstatic intrdsenders(void){ int lnlen, nf, ok = 1; char *line, *senderfile; char *toks[Ntoks]; Biobuf *sf; Sender *snd; static int beenhere = 0; if (beenhere) return 1; beenhere = 1; /* * we're sticking with a system-wide sender list because * per-user lists would require fully resolving recipient * addresses to determine which users they correspond to * (barring exploiting syntactic conventions). */ senderfile = smprint("%s/senders", UPASLIB); sf = Bopen(senderfile, OREAD); free(senderfile); if (sf == nil) return 1; while ((line = Brdline(sf, '/n')) != nil) { if (line[0] == '#' || line[0] == '/n') continue; lnlen = Blinelen(sf); line[lnlen-1] = '/0'; /* clobber newline */ nf = tokenize(line, toks, nelem(toks)); if (nf != nelem(toks)) continue; /* malformed line */ snd = malloc(sizeof *snd); if (snd == nil) sysfatal("out of memory: %r"); memset(snd, 0, sizeof *snd); snd->next = nil; if (sendlast == nil) sendlist = snd; else sendlast->next = snd; sendlast = snd; snd->rcpt = strdup(toks[Rcpt]); snd->domain = strdup(toks[Domain]); } Bterm(sf); return ok;}
开发者ID:99years,项目名称:plan9,代码行数:51,
注:本文中的Brdline函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Bread函数代码示例 C++ Bprint函数代码示例 |