本文整理汇总了C++中cpystr函数的典型用法代码示例。如果您正苦于以下问题:C++ cpystr函数的具体用法?C++ cpystr怎么用?C++ cpystr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cpystr函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
void *env_parameters (long function,void *value)
{
void *ret = NIL;
switch ((int) function) {
case SET_USERNAME:
myUserName = cpystr ((char *) value);
case GET_USERNAME:
ret = (void *) myUserName;
break;
case SET_HOMEDIR:
myHomeDir = cpystr ((char *) value);
case GET_HOMEDIR:
ret = (void *) myHomeDir;
break;
case SET_LOCALHOST:
myLocalHost = cpystr ((char *) value);
case GET_LOCALHOST:
ret = (void *) myLocalHost;
break;
case SET_NEWSRC:
if (myNewsrc) fs_give ((void **) &myNewsrc);
myNewsrc = cpystr ((char *) value);
case GET_NEWSRC:
if (!myNewsrc) { /* set news file name if not defined */
char tmp[MAILTMPLEN];
sprintf (tmp,"%s:.newsrc",myhomedir ());
myNewsrc = cpystr (tmp);
}
ret = (void *) myNewsrc;
break;
}
return ret;
}
示例2: execview_pretty_command
/*
* Return a pretty command, on some OS's we might do something
* different than just display the command.
*
* free_ret - whether or not to free the return value
*/
char *
execview_pretty_command(MCAP_CMD_S *mc_cmd, int *free_ret)
{
char *str;
int rv_to_free = 0;
if(free_ret)
*free_ret = rv_to_free;
if(!mc_cmd)
return NULL;
str = mc_cmd->command;
#ifdef _WINDOWS
if(*str == '*' || (*str == '\"' && str[1] == '*')){
if(!strncmp(str + ((*str == '\"') ? 2 : 1), "DDE*", 4))
str = cpystr("via app already running");
else if(!strncmp(str + ((*str == '\"') ? 2 : 1),"ShellEx*",8))
str = cpystr("via Explorer defined app");
else
str = cpystr("via Windows-specific method");
rv_to_free = 1;
}
#elif OSX_TARGET
if(mc_cmd->special_handling){
CFStringRef str_ref = NULL, kind_str_ref = NULL;
CFURLRef url_ref;
char buf[256];
if((str_ref = CFStringCreateWithCString(NULL, mc_cmd->command,
kCFStringEncodingASCII)) == NULL)
return "";
if((url_ref = CFURLCreateWithString(NULL, str_ref, NULL)) == NULL)
return "";
if(LSCopyDisplayNameForURL(url_ref, &kind_str_ref) != noErr)
return "";
if(CFStringGetCString(kind_str_ref, buf, (CFIndex)255,
kCFStringEncodingASCII) == false)
return "";
buf[255] = '\0';
str = cpystr(buf);
rv_to_free = 1;
if(kind_str_ref)
CFRelease(kind_str_ref);
}
#else
/* always pretty */
#endif
if(free_ret)
*free_ret = rv_to_free;
return(str);
}
示例3: context_percent_quote
/*
* Insert % before existing %'s so printf will print a real %.
* This is a special routine just for contexts. It only does the % stuffing
* for %'s inside of the braces of the context name, not for %'s to
* the right of the braces, which we will be using for printf format strings.
* Returns a malloced string which the caller is responsible for.
*/
char *
context_percent_quote(char *context)
{
char *pq = NULL;
if(!context || !*context)
pq = cpystr("");
else{
if(IS_REMOTE(context)){
char *end, *p, *q;
/* don't worry about size efficiency, just allocate double */
pq = (char *) fs_get((2*strlen(context) + 1) * sizeof(char));
end = strchr(context, '}');
p = context;
q = pq;
while(*p){
if(*p == '%' && p < end)
*q++ = '%';
*q++ = *p++;
}
*q = '\0';
}
else
pq = cpystr(context);
}
return(pq);
}
示例4: ip_newsockaddr
char *tcp_clienthost ()
{
if (!myClientHost) {
size_t sadrlen;
struct sockaddr *sadr = ip_newsockaddr (&sadrlen);
if (getpeername (0,sadr,(void *) &sadrlen)) {
char *s,*t,*v,tmp[MAILTMPLEN];
if ((s = getenv (t = "SSH_CLIENT")) ||
(s = getenv (t = "KRB5REMOTEADDR")) ||
(s = getenv (t = "SSH2_CLIENT"))) {
if (v = strchr (s,' ')) *v = '\0';
sprintf (v = tmp,"%.80s=%.80s",t,s);
}
else v = "UNKNOWN";
myClientHost = cpystr (v);
}
else { /* get stdin's peer name */
myClientHost = tcp_name (sadr,T);
if (!myClientAddr) myClientAddr = cpystr (ip_sockaddrtostring (sadr));
if (myClientPort < 0) myClientPort = ip_sockaddrtoport (sadr);
}
fs_give ((void **) &sadr);
}
return myClientHost;
}
示例5: encodeStringForEMailHeader
/**
* Encodes a zorba String if necessary (if it contains non-ascii chars)
* and assigns it to the passed char-pointer-reference.
*/
void encodeStringForEMailHeader(const zorba::String& aString, char*& aCClientVal)
{
// check if string contains non ascii chars
bool lContainsNonAscii = false;
for (
zorba::String::const_iterator lIter = aString.begin();
lIter != aString.end();
++lIter)
{
unsigned int u = static_cast<unsigned int>(*lIter);
if (!(u == '\t' || u == '\n' || u == '\t' || (u >= 32 && u <= 127)))
{
lContainsNonAscii = true;
break;
}
}
if (lContainsNonAscii)
{
// if string contains non-ascii chars, we encode it with
// base64 encoding and generate a header value according to
// http://tools.ietf.org/html/rfc2047 (MIME encoded-word syntax).
zorba::String lEncodedValue;
zorba::base64::encode(aString, &lEncodedValue);
zorba::String lFullValue = zorba::String("=?UTF-8?B?")
+ lEncodedValue
+ zorba::String("?=");
aCClientVal = cpystr(lFullValue.c_str());
}
else
{
// if string contains ascii chars only, do don't encode anything
aCClientVal = cpystr(aString.c_str());
}
}
示例6: checkpw_conv
static int checkpw_conv (int num_msg,const struct pam_message **msg,
struct pam_response **resp,void *appdata_ptr)
{
int i;
struct checkpw_cred *cred = (struct checkpw_cred *) appdata_ptr;
struct pam_response *reply = fs_get (sizeof (struct pam_response) * num_msg);
for (i = 0; i < num_msg; i++) switch (msg[i]->msg_style) {
case PAM_PROMPT_ECHO_ON: /* assume want user name */
reply[i].resp_retcode = PAM_SUCCESS;
reply[i].resp = cpystr (cred->uname);
break;
case PAM_PROMPT_ECHO_OFF: /* assume want password */
reply[i].resp_retcode = PAM_SUCCESS;
reply[i].resp = cpystr (cred->pass);
break;
case PAM_TEXT_INFO:
case PAM_ERROR_MSG:
reply[i].resp_retcode = PAM_SUCCESS;
reply[i].resp = NULL;
break;
default: /* unknown message style */
fs_give ((void **) &reply);
return PAM_CONV_ERR;
}
*resp = reply;
return PAM_SUCCESS;
}
示例7: switch
void *env_parameters (long function,void *value)
{
void *ret = NIL;
switch ((int) function) {
case SET_HOMEDIR:
myHomeDir = cpystr ((char *) value);
case GET_HOMEDIR:
ret = (void *) myHomeDir;
break;
case SET_LOCALHOST:
myLocalHost = cpystr ((char *) value);
case GET_LOCALHOST:
ret = (void *) myLocalHost;
break;
case SET_NEWSRC:
if (myNewsrc) fs_give ((void **) &myNewsrc);
myNewsrc = cpystr ((char *) value);
case GET_NEWSRC:
if (!myNewsrc) { /* set news file name if not defined */
char tmp[MAILTMPLEN];
sprintf (tmp,"%s\\newsrc",myhomedir ());
myNewsrc = cpystr (tmp);
}
ret = (void *) myNewsrc;
break;
case SET_DISABLE822TZTEXT:
no822tztext = value ? T : NIL;
case GET_DISABLE822TZTEXT:
ret = (void *) (no822tztext ? VOIDT : NIL);
break;
}
return ret;
}
示例8: copy_ielem
IELEM_S *
copy_ielem(IELEM_S *src)
{
IELEM_S *head = NULL;
if(src){
head = new_ielem(NULL);
if(src->next)
head->next = copy_ielem(src->next);
head->type = src->type;
head->wid = src->wid;
if(src->color){
head->color = new_color_pair(src->color->fg, src->color->bg);
head->freecolor = 1;
}
if(src->data){
head->data = cpystr(src->data);
head->datalen = strlen(head->data);
head->freedata = 1;
}
if(src->print_format){
head->print_format = cpystr(src->print_format);
head->freeprintf = strlen(head->print_format) + 1;
}
}
return(head);
}
示例9: switch
void *env_parameters (long function,void *value)
{
void *ret = NIL;
char tmp[MAILTMPLEN];
switch ((int) function) {
case SET_HOMEDIR:
if (myHomeDir) fs_give ((void **) &myHomeDir);
myHomeDir = cpystr ((char *) value);
case GET_HOMEDIR:
/* set home directory if not defined */
if (!myHomeDir) myHomeDir = cpystr ("");
ret = (void *) myHomeDir;
break;
case SET_LOCALHOST:
myLocalHost = cpystr ((char *) value);
case GET_LOCALHOST:
ret = (void *) myLocalHost ? myLocalHost : "random-mac";
break;
case SET_NEWSRC:
if (myNewsrc) fs_give ((void **) &myNewsrc);
myNewsrc = cpystr ((char *) value);
case GET_NEWSRC:
if (!myNewsrc) { /* set news file name if not defined */
sprintf (tmp,"%s:News State",myhomedir ());
myNewsrc = cpystr (tmp);
}
ret = (void *) myNewsrc;
break;
}
return ret;
}
示例10: address_from_ldap
ADDRESS *
address_from_ldap(LDAP_CHOOSE_S *winning_e)
{
ADDRESS *ret_a = NULL;
if(winning_e){
char *a;
BerElement *ber;
ret_a = mail_newaddr();
for(a = ldap_first_attribute(winning_e->ld, winning_e->selected_entry, &ber);
a != NULL;
a = ldap_next_attribute(winning_e->ld, winning_e->selected_entry, ber)){
int i;
char *p;
char **vals;
dprint((9, "attribute: %s\n", a ? a : "?"));
if(!ret_a->personal &&
strcmp(a, winning_e->info_used->cnattr) == 0){
dprint((9, "Got cnattr:"));
vals = ldap_get_values(winning_e->ld, winning_e->selected_entry, a);
for(i = 0; vals[i] != NULL; i++)
dprint((9, " %s\n",
vals[i] ? vals[i] : "?"));
if(vals && vals[0])
ret_a->personal = cpystr(vals[0]);
ldap_value_free(vals);
}
else if(!ret_a->mailbox &&
strcmp(a, winning_e->info_used->mailattr) == 0){
dprint((9, "Got mailattr:"));
vals = ldap_get_values(winning_e->ld, winning_e->selected_entry, a);
for(i = 0; vals[i] != NULL; i++)
dprint((9, " %s\n",
vals[i] ? vals[i] : "?"));
/* use first one */
if(vals && vals[0]){
if((p = strindex(vals[0], '@')) != NULL){
ret_a->host = cpystr(p+1);
*p = '\0';
}
ret_a->mailbox = cpystr(vals[0]);
}
ldap_value_free(vals);
}
our_ldap_memfree(a);
}
}
return(ret_a);
}
示例11: cpystr
char *myusername ()
{
struct stat sbuf;
char tmp[MAILTMPLEN];
if (!myUserName) { /* get user name if don't have it yet */
myUserName = cpystr (cuserid (NIL));
myHomeDir = cpystr ("SYS$LOGIN");
}
return myUserName;
}
示例12: cpystr
char *tcp_canonical (char *name)
{
char host[MAILTMPLEN];
struct hostent *he;
/* look like domain literal? */
if (name[0] == '[' && name[strlen (name) - 1] == ']')
return cpystr (name);
/* note that Unix requires lowercase! */
else return cpystr ((he = gethostbyname (lcase (strcpy (host,name)))) ?
he->h_name : name);
}
示例13: rfc822_write_address_decode
/* Write RFC822 address with 1522 decoding of personal name
* and optional quoting.
*
* The idea is that there are some places where we'd just like to display
* the personal name as is before applying confusing quoting. However,
* we do want to be careful not to break things that should be quoted so
* we'll only use this where we are sure. Quoting may look ugly but it
* doesn't usually break anything.
*/
void
rfc822_write_address_decode(char *dest, size_t destlen, struct mail_address *adr, int do_quote)
{
RFC822BUFFER buf;
extern const char *rspecials;
ADDRESS *copy, *a;
/*
* We want to print the adr list after decoding it. C-client knows
* how to parse and print, so we want to use that. But c-client
* doesn't decode. So we make a copy of the address list, decode
* things there, and let c-client print that.
*/
copy = copyaddrlist(adr);
for(a = copy; a; a = a->next){
if(a->host){ /* ordinary address? */
if(a->personal && *a->personal){
unsigned char *p;
p = rfc1522_decode_to_utf8((unsigned char *) tmp_20k_buf,
SIZEOF_20KBUF, a->personal);
if(p && (char *) p != a->personal){
fs_give((void **) &a->personal);
a->personal = cpystr((char *) p);
}
}
}
else if(a->mailbox && *a->mailbox){ /* start of group? */
unsigned char *p;
p = rfc1522_decode_to_utf8((unsigned char *) tmp_20k_buf, SIZEOF_20KBUF, a->mailbox);
if(p && (char *) p != a->mailbox){
fs_give((void **) &a->mailbox);
a->mailbox = cpystr((char *) p);
}
}
}
buf.end = (buf.beg = buf.cur = dest) + destlen;
buf.f = rfc822_dummy_soutr;
*buf.cur = '\0';
buf.s = NIL;
(void) rfc822_output_address_list(&buf, copy, 0,
do_quote ? rspecials : rspecials_minus_quote_and_dot);
*buf.cur = '\0';
if(copy)
mail_free_address(©);
}
示例14: sizeof
char *tcp_clienthost ()
{
if (!myClientHost) {
struct sockaddr_in sin;
int sinlen = sizeof (struct sockaddr_in);
myClientHost = /* get stdin's peer name */
getpeername (0,(struct sockaddr *) &sin,(void *) &sinlen) ?
cpystr ("UNKNOWN") : ((sin.sin_family == AF_INET) ?
tcp_name (&sin,T) : cpystr ("NON-IPv4"));
}
return myClientHost;
}
示例15: ip_newsockaddr
char *tcp_serveraddr ()
{
if (!myServerAddr) {
size_t sadrlen;
struct sockaddr *sadr = ip_newsockaddr (&sadrlen);
myServerAddr = /* get stdin's peer name */
((getsockname (0,sadr,&sadrlen) == SOCKET_ERROR) || (sadrlen <= 0)) ?
cpystr ("UNKNOWN") : cpystr (ip_sockaddrtostring (sadr));
fs_give ((void **) &sadr);
}
return myServerAddr;
}