/*
(c) Copyright 1999-2000 - Tord Jansson
======================================
This file is part of the BladeEnc MP3 Encoder, based on
ISO's reference code for MPEG Layer 3 compression.
This file doesn't contain any of the ISO reference code and
is copyright Tord Jansson (tord.jansson@swipnet.se).
BladeEnc is free software; you can redistribute this file
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
------------ Changes ------------
2000-11-27 Andre Piotrowski
- redesigned, commented
- feature: addFileContentToArgLink()
Now, (filename) arguments surrounded by double quotes may include spaces!
*/
#ifndef __ARGLINK__
#define __ARGLINK__
extern char *mystrupr (char *);
typedef struct argLinkDef
{
struct argLinkDef *psNext;
char *pString;
} argLink;
/* ------------ linkStringToArgLink ------------
creates a linked argument list element from a string
and adds it at position '*wpPrev' to the list.
returns the pointer to the created argument,
if successful, NULL otherwise.
*/
argLink *linkStringToArgLink
(
argLink **wpPrev,
char *pString
);
/* ------------ insertStringToArgLink ------------
acts similar to 'linkStringToArgLink()',
but creates a copy of the string and links that to the list.
*/
argLink *insertStringInArgLink
(
argLink **wpPrev,
char *pString
);
/* ------------ arg2ArgvLink ------------
creates a linked argument list from an array
argv[] with argc string arguments.
*/
argLink *argv2ArgLink
(
int argc,
char *argv[]
);
/* ------------ addFileContentToArgLink ------------
reads arguments from a file given by its filename
and adds them at position '*wpPrev' to the list.
returns the number of arguments added, if successful,
-1 in case that the file couldn't been opened.
Now, (filename) arguments surrounded by double quotes may include spaces!
*/
int addFileContentToArgLink
(
argLink **wpPrev,
char *pFilename
);
/* ------------ findStrInArgList ------------
searches for occurence of a string in the linked
argument list and returns the pointer to the
argument, if present, NULL otherwise.
*/
argLink *findStrInArgLink
(
argLink *pLink,
char *pString
);
/* ------------ deleteArgLink ------------
deletes the entire linked argument list.
*/
void deleteArgLink
(
argLink *pLink
);
#endif /* __ARGLINK__ */
|