File linkt_IncSSID.diff of Package linkt

diff -Nur linkt-0.8rc3.orig/linkt/toplevel.cpp linkt-0.8rc3/linkt/toplevel.cpp
--- linkt-0.8rc3.orig/linkt/toplevel.cpp	2004-11-10 17:01:32.000000000 +0100
+++ linkt-0.8rc3/linkt/toplevel.cpp	2008-10-22 00:01:39.000000000 +0200
@@ -274,23 +274,24 @@
 // SSID groesser als 15 waehre, kommt eine Fehlermeldung.
 bool TopLevel::incSSID(char *call)
 {
-   char tmp[50];
+   char tmp[50], tmpcall[50];
    int i,len,ssid;
 
+   strcpy (tmpcall, call);
 
    // SSID abtrennen
-   if ((i = POS('-', call)) == -1)
+   if ((i = POS('-', tmpcall)) == -1)
    {
       // Keine SSID vorhanden. SSID = 0
       ssid = 0;
    }
    else
    {
-      len = strlen(call)-i-1;
-      memcpy(tmp, call+i+1, len);
+      len = strlen(tmpcall)-i-1;
+      memcpy(tmp, tmpcall+i+1, len);
       tmp[i] = '\0';
       ssid = atoi(tmp);
-      call[i] = '\0';
+      tmpcall[i] = '\0';
    }
 
    // SSID inkrementieren und gucken, ob sie > 15 wird.
@@ -298,7 +299,7 @@
    if (ssid > 15)
       return false;
 
-   sprintf(call, "%s-%i", call, ssid);
+   sprintf(call, "%s-%i", tmpcall, ssid);
 
    return true;
 }
openSUSE Build Service is sponsored by