EXPAND

Section: C Library Functions (3)
Updated: 5/8/85
Index Return to Main Contents
 

NAME

expand - expand filename specification  

SYNOPSIS

int expand (spec,buffer,bufsize);
char *spec,**buffer;
int bufsize;  

DESCRIPTION

Expand takes a file specification, and expands it into a set of filenames by resolving the characters '*', '?', '[', '{', and '~' in the same way as the shell does.

You must provide buffer, an array of string pointers (char *), and you tell how big this array is in bufsize. Expand will compute the corresponding filenames, and fill up the entries of buffer, putting ponters to malloc'd strings into the slots.

The value returned by expand is the number of filenames found. If any error occurs, the value returned will be -1. In such a case, not all of the files were discoverable. If too many files are found, then the value returned will be bufsize + 1; you should try again with a bigger buffer.  

SEE ALSO

sh(1), getwd(3), malloc(3), path(3)  

DIAGNOSTICS

Returns -1 on error; bufsize + 1 if too many files are found.  

BUGS

Error recovery is too drastic; it should continue to find all the names that can be found. Also, if an error occurs, the strings malloc'd so far will never be garbage-collected.

Within braces {...}, the substrings may contain other meta-characters but may not contain slashes / or additional braces {}.


 

Index

NAME
SYNOPSIS
DESCRIPTION
SEE ALSO
DIAGNOSTICS
BUGS

This document was created by man2html, using the manual pages.
Time: 12:50:18 GMT, May 26, 2025