Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

strvars(3pub) [debian man page]

STRVARS(3pub)						       C Programmer's Manual						     STRVARS(3pub)

NAME
strvars - expand variables in string SYNOPSIS
#include <publib.h> int strvars(char **res, const char *str, char *(*expand)(const char *)); DESCRIPTION
strvars will replaces references to variables in the string str with the values of the variables. A reference to a variable is of the form $(foo) or $x (where x is a single character, but not $). A dollar sign is expressed in the string as $$, and will be converted to $ in the output. Memory for the expanded string is allocated dynamically, and *res is set to point to it. The values of the variables are fetched using the function expand. It is given the name of the variable as its argument, and must return a pointer to the value, or NULL if that variable doesn't exist. RETURN VALUE
strvars will return 0 if successful, or NULL if an error occured (malformed input string, result too big, or unknown variable). EXAMPLE
To replace references to environment variables, one would the following. #include <publib.h> #include <stdlib.h> char line[1024]; char *res; if (strvars(&res, line, getenv) == NULL) errormsg(1, 0, "strvars failed"); printf("res = <%s> ", res); SEE ALSO
publib(3), getenv(3) AUTHOR
Lars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual STRVARS(3pub)

Check Out this Related Man Page

STRMAXCPY(3pub) 					       C Programmer's Manual						   STRMAXCPY(3pub)

NAME
strmaxcpy - copy at most a given number of characters of string SYNOPSIS
#include <publib.h> char *strmaxcpy(char *tgt, const char *src, size_t n); DESCRIPTION
strmaxcpy copies up to n-1 characters from the beginning of src to tgt, then adds a ''. n must be at least 1. The target string must be large enough to hold the result. Note that unlike strncpy(3), this function always terminates the result with ''. It also doesn't fill the result with extra '' charac- ters. RETURN VALUE
strmaxcpy returns its first argument. EXAMPLE
To print out the first 69 characters of a string, you might do the following (although familiarity with printf's format string might be more useful in this case). #include <stdio.h> #include <publib.h> void print42(const char *string) { char copy[43]; /* 42 + '' */ puts(strmaxcpy(copy, string, sizeof(copy))); } SEE ALSO
publib(3), strncpy(3) AUTHOR
Lars Wirzenius (lars.wirzenius@helsinki.fi) Publib C Programmer's Manual STRMAXCPY(3pub)
Man Page

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Splitting the data and storing it into 2 variables

Hi, I have a file in the given format: |aaa |hhh |fat hat chat |make sure I need to get store in a variable,say 'error' the value of the string 'fat hat chat' In short, echo $error should give the result fat hat chat Is this possible using awk? Also, can this be split.For... (10 Replies)
Discussion started by: jisha
10 Replies

2. UNIX for Dummies Questions & Answers

how to expand environment variables in a file?

I am new to unix and would appreciate if someone could help. I have an environment variable SourceFilePath=/db1/Src/test set on the unix server. I want to expand this SHELL variable in a file using any command sed, awk etc File contents is as follows: var=$SourceFilePath/file.txt ... (2 Replies)
Discussion started by: debbie15
2 Replies

3. Shell Programming and Scripting

Assigning values to reference variables for a dynamic menu driven script.

How do I assign values to reference variables? I am assigning a variable name to --> $user_var Then I am trying to change its underlying variable value by $((user_var))=$user_value .. its failing,, Please let me know if there is a way to do this dynamically.. FileA.props... (5 Replies)
Discussion started by: kchinnam
5 Replies

4. Shell Programming and Scripting

For loop using input file doesn't expand variables

Hi, I'm using a for loop reading from an input file that contains files, whose path includes a variable name. But the for loop doesn't expand the variable and therefore can't find the file. Here's an example: File BACKUPFILES /home/John/alpha /home/Sue/beta... (8 Replies)
Discussion started by: Hesiod
8 Replies

5. SCO

Partition Resize / Creation

Hello, I'm new to SCO and I require some help... I have an OLD HD which is about to die and I want to replace it with a new HD. When I clone the HD with either Acronis or Ghost it wont allow me to resize the UNIX partition and I'm stuck with 80% of the new drive as unused space. I... (7 Replies)
Discussion started by: dochost
7 Replies

6. Shell Programming and Scripting

Capturing text & putting it in different variables

Dear friends, I have following text in a variable. /backup/rem1/10122010/res From this value of variable i want to take each text in different variables e.g. a=backup b=rem1 c=10122010 d=res please guide me to do so. Thank you in advance Anushree (5 Replies)
Discussion started by: anushree.a
5 Replies

7. Shell Programming and Scripting

dynamic variables - eval - expand etc.

Hello, so i'm making a script, using dynamic variables and trying to expand them. So far it hasn't worked out too well so it seems that I need some help from you, the elite. Example: #!/bin/sh counter=0 until (($counter>5)) counter2=1 until (($counter2>6)); do if ;... (5 Replies)
Discussion started by: TehOne
5 Replies

8. Shell Programming and Scripting

Unable to source file in my script

Hi, ls -ltrq res.file -rwxrwxr-x 1 ora install 4278 Nov 30 07:19 res.file $ more test.sh source res.file $ ./test.sh ./test.sh: .: res.file: cannot open $ id uid=600000014(ora) gid=63855(install) uname -a SunOS mymac 5.11 11.2 sun4v sparc sun4v The same thing works fine on a... (7 Replies)
Discussion started by: mohtashims
7 Replies