Example: getcwd

This example uses getcwd to save the current directory, before moving to a new directory. It then moves back to the first directory.

    #include <direct.h>
    #define DIR_LEN 512
    char original_dir[DIR_LEN];
    #ifdef unix
        char new_dir[] = "/tmp";
    #else
        char new_dir[] = "C:\\";
    #endif
    if (!getcwd(original_dir, DIR_LEN)) {
        lr_output_message ("getcwd error");
        return -1;
    }
    // Change the current working directory to new_dir 
    if (chdir(new_dir)) {
        lr_output_message ("Unable to locate directory: %s", new_dir);
        return -1;
    }
    else
        lr_output_message ("Changed dir to %s", new_dir);
    // Move back to original directory 
    if (chdir(original_dir)) {
        lr_output_message ("Cannot move back to %s", original_dir);
        return -1;
    }
    else
        lr_output_message ("Moved back to %s", original_dir);
Output:
Action.c(25): Changed dir to C:\
Action.c(35): Moved back to D:\TEMP\noname13