Add -lncurses to LDD flags
[lcr.git] / genext.c
index 21689e6..e9de687 100644 (file)
--- a/genext.c
+++ b/genext.c
@@ -30,11 +30,11 @@ int fhuse = 0;
 struct isdn_cause isdn_cause[128];
 struct isdn_location isdn_location[16];
 
-void _printdebug(const char *function, int line, unsigned long mask, const char *fmt, ...)
+void _printdebug(const char *file, const char *function, int line, unsigned int mask, const char *fmt, ...)
 {
 }
 
-void _printerror(const char *function, int line, const char *fmt, ...)
+void _printerror(const char *file, const char *function, int line, const char *fmt, ...)
 {
        char buffer[4096];
        va_list args;
@@ -52,25 +52,24 @@ int main(int argc, char *argv[])
        struct extension ext;
        char pathname[256];
        FILE *fp;
+       char options_error[256];
 
-       if (!read_options())
-       {
+       if (!read_options(options_error)) {
                PERROR("%s", options_error);
                return(-1);
        }
 
-       if (argc != 4)
-       {
+       if (argc != 4) {
                printf("Usage: %s <extension> <interfaces> <callerid>\n\n", argv[0]);
                printf("extension: any number for the extension (e.g 200)\n");
-               printf("interfaces: internal interface(s) to reach extension (seperated by commas. e.g Int1,Int2)\n");
+               printf("interfaces: internal interface(s) to reach extension, NOT port numbers\n");
+               printf(" -> seperate multiple interfaces with commas. e.g Int1,Int2\n");
                printf("callerid: normal undefined called is (use what your telco assigned you)\n");
                return(0);
        }
 
-       SPRINT(pathname, "%s/%s/%s", INSTALL_DATA, options.extensions_dir, argv[1]);
-       if (mkdir(pathname, 0755) < 0)
-       {
+       SPRINT(pathname, "%s/%s", EXTENSION_DATA, argv[1]);
+       if (mkdir(pathname, 0755) < 0) {
                if (errno == EEXIST)
                        PERROR("Extension's directory already exists. Nothing done!\n");
                else    PERROR("Cannot open extension's directory '%s'.\n", pathname);
@@ -89,13 +88,11 @@ int main(int argc, char *argv[])
        ext.facility = 1;
        write_extension(&ext, argv[1]);
 
-       SPRINT(pathname, "%s/%s/%s/phonebook", INSTALL_DATA, options.extensions_dir, argv[1]);
-       if (!(fp = fopen(pathname, "w")))
-       {
+       SPRINT(pathname, "%s/%s/phonebook", EXTENSION_DATA, argv[1]);
+       if (!(fp = fopen(pathname, "w"))) {
                PERROR("Failed to write phonebook example '%s'.\n", pathname);
                return(-1);
-       } else
-       {
+       } else {
                fprintf(fp, "# fromat: <shortcut> <phone number> [<Name>]\n");
                fprintf(fp, "# The shotcut may have any number of digits. \n");
                fprintf(fp, "# The phone number must include the dialing code for external, internal or\n");
@@ -111,13 +108,11 @@ int main(int argc, char *argv[])
                fclose(fp);
        }
 
-       SPRINT(pathname, "%s/%s/%s/secrets", INSTALL_DATA, options.extensions_dir, argv[1]);
-       if (!(fp = fopen(pathname, "w")))
-       {
+       SPRINT(pathname, "%s/%s/secrets", EXTENSION_DATA, argv[1]);
+       if (!(fp = fopen(pathname, "w"))) {
                PERROR("Failed to write secrets example '%s'.\n", pathname);
                return(-1);
-       } else
-       {
+       } else {
                fprintf(fp, "# Format: <remote number> <key exchange> <cypher> [<key>]\n");
                fprintf(fp, "# The remote number must match the dialed number for outgoing calls.\n");
                fprintf(fp, "# The remote number must match the caller id for incoming calls.\n");
@@ -135,7 +130,7 @@ int main(int argc, char *argv[])
                fprintf(fp, "021250993               manual  blowfish        0x012345678\n");
                fclose(fp);
        }
-       printf("Extension %s created at %s/%s/%s/.\n", argv[1], INSTALL_DATA, options.extensions_dir, argv[1]);
+       printf("Extension %s created at %s/%s/.\n", argv[1], EXTENSION_DATA, argv[1]);
 
        return(0);
 }