summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-08-02 23:15:37 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-08-02 23:15:37 -0700
commitf1615dccd5a69fa0a6fc4f6b55291fd436341dde (patch)
treeaf979957434f46076e44226197920858bd9ee3dc /src
parent1067e6dec9007daf226b0d23de24cbad54ffa904 (diff)
downloadabc-f1615dccd5a69fa0a6fc4f6b55291fd436341dde.tar.gz
abc-f1615dccd5a69fa0a6fc4f6b55291fd436341dde.tar.bz2
abc-f1615dccd5a69fa0a6fc4f6b55291fd436341dde.zip
Code for parsing the transcripts.
Diffstat (limited to 'src')
-rw-r--r--src/base/cmd/cmd.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/base/cmd/cmd.c b/src/base/cmd/cmd.c
index b047cafd..93e658d5 100644
--- a/src/base/cmd/cmd.c
+++ b/src/base/cmd/cmd.c
@@ -1153,6 +1153,7 @@ int CmdCommandScanDir( Abc_Frame_t * pAbc, int argc, char **argv )
{
struct _finddata_t c_file;
char * pDirStr = NULL;
+ char* pDirCur = NULL;
long hFile;
char c;
@@ -1174,8 +1175,15 @@ int CmdCommandScanDir( Abc_Frame_t * pAbc, int argc, char **argv )
goto usage;
}
}
+
+
if ( pDirStr )
{
+ if( (pDirCur = _getcwd( NULL, 0 )) == NULL )
+ {
+ printf( "Cannot read current directory\n" );
+ return 0;
+ }
if ( _chdir(pDirStr) )
{
printf( "Cannot change to directory: %s\n", pDirStr );
@@ -1248,6 +1256,16 @@ int CmdCommandScanDir( Abc_Frame_t * pAbc, int argc, char **argv )
while( _findnext( hFile, &c_file ) == 0 );
_findclose( hFile );
}
+ if ( pDirStr )
+ {
+ if ( _chdir(pDirCur) )
+ {
+ ABC_FREE( pDirCur );
+ printf( "Cannot change to directory: %s\n", pDirCur );
+ return 0;
+ }
+ ABC_FREE( pDirCur );
+ }
return 0;
usage: