]> git.ipfire.org Git - thirdparty/HylaFAX.git/commitdiff
Clean up code to create FDIS strings and temp filename creation
authorRobert Colquhoun <rjc@trump.net.au>
Thu, 21 Sep 2000 04:22:18 +0000 (04:22 +0000)
committerRobert Colquhoun <rjc@trump.net.au>
Thu, 21 Sep 2000 04:22:18 +0000 (04:22 +0000)
in SendFaxClient.

util/Class2Params.c++
util/SendFaxClient.c++

index 68bd0d7d72ac0cd3949d30509dce7deb8ce2bbe2..cb371f7c30a44c4e5fca174b4b9506b69f8cbead 100644 (file)
@@ -58,37 +58,28 @@ Class2Params::operator!=(const Class2Params& other) const
     return !(*this == other);
 }
 
-static char*
-addParam(char* cp, u_int v)
-{
-    if (v != (u_int)-1) {
-       sprintf(cp, ",%u", v);
-       while (*cp != '\0') cp++;
-    } else {
-       *cp++ = ',';
-       *cp = '\0';
-    }
-    return (cp);
-}
-
 fxStr
 Class2Params::cmd() const
 {
-    char buf[1024];
-    char* cp = buf;
-
-    if (vr != (u_int) -1) {
-       sprintf(cp, "%u", vr);
-       while (*cp != '\0') cp++;
-    }
-    cp = addParam(cp, br);
-    cp = addParam(cp, wd);
-    cp = addParam(cp, ln);
-    cp = addParam(cp, df);
-    cp = addParam(cp, ec);
-    cp = addParam(cp, bf);
-    cp = addParam(cp, st);
-    return fxStr(buf);
+    u_int unset = (u_int) -1;
+    fxStr comma(",");
+    fxStr s;
+    if (vr != unset) s.append(fxStr::format("%u", vr));
+    s.append(comma);
+    if (br != unset) s.append(fxStr::format("%u", br));
+    s.append(comma);
+    if (wd != unset) s.append(fxStr::format("%u", wd));
+    s.append(comma);
+    if (ln != unset) s.append(fxStr::format("%u", ln));
+    s.append(comma);
+    if (df != unset) s.append(fxStr::format("%u", df));
+    s.append(comma);
+    if (ec != unset) s.append(fxStr::format("%u", ec));
+    s.append(comma);
+    if (bf != unset) s.append(fxStr::format("%u", bf));
+    s.append(comma);
+    if (st != unset) s.append(fxStr::format("%u", st));
+    return s;
 }
 
 bool
index 8c035695687bbe54586dcad061cbf6e22afe8021..7245faea96c71c71aafd6ccff9f2700a35d5299c 100644 (file)
@@ -190,10 +190,11 @@ addarg(const char* av[], int& ac, const char* flag, const fxStr& opt)
 bool
 SendFaxClient::makeCoverPage(const SendFaxJob& job, fxStr& file, fxStr& emsg)
 {
-    char buff[128];
-    sprintf(buff, "%s/sndfaxXXXXXX", _PATH_TMP);
+    const char* templ = _PATH_TMP "/sndfaxXXXXXX";
+    char* buff = strcpy(new char[strlen(templ) + 1], templ);
     int fd = Sys::mkstemp(buff);
     tmpFile = buff;
+    delete [] buff;
     if (fd >= 0) {
 #define        MAXARGS 128
        const char* av[MAXARGS];
@@ -640,11 +641,12 @@ SendFaxClient::prepareFile(FileInfo& info, fxStr& emsg)
     if (info.temp != "" && info.temp != info.name)
        Sys::unlink(info.temp);
     if (info.rule->getCmd() != "") {   // conversion required
-    char buff[128];
-    sprintf(buff, "%s/sndfaxXXXXXX", _PATH_TMP);
-    Sys::mktemp(buff);
-    tmpFile = buff;
-       /*
+        const char* templ = _PATH_TMP "/sndfaxXXXXXX";
+        char* buff = strcpy(new char[strlen(templ) + 1], templ);
+        Sys::mktemp(buff);
+        tmpFile = buff;
+        delete [] buff;
+        /*
         * XXX **** WARNING **** XXXX
         *
         * We need to generate files according to each job's