\r\n -> \n
[gnokii.git] / common / gsm-ringtones.c
index 8bb013d..3db43b6 100644 (file)
@@ -916,7 +916,7 @@ void PrepareRingingTones(char model[64], char rev[64]) {
 /* returns names from code or number in menu */
 char *RingingToneName(int code, int menu)
 {
-  int index=1,i;
+  int index=1;
   GSM_Error error;
 
   if (code==0)
@@ -934,25 +934,14 @@ char *RingingToneName(int code, int menu)
   }
 
   if (!strncmp(RingingTones[index].name,"Uploaded ",9)) {
-     ringtone.location=atoi(&RingingTones[index].name[10]);
-
-     error=GSM->GetBinRingtone(&ringtone);
-
-     if (error==GE_NONE) return ringtone.name;
-     if (error==GE_UNKNOWNMODEL) {
-    
-        /* In 33x we have normal "Smart Messaging" format */
-        if (GetModelFeature (FN_RINGTONES)==F_RING_SM) {
-      
-          i=7;
-         if (ringtone.frame[9]==0x4a && ringtone.frame[10]==0x3a) i=8;
-         ringtone.frame[i]=0x02;
-       
-          GSM_UnPackRingtone(&SMringtone, ringtone.frame+i, ringtone.length-i);
+    ringtone.location=atoi(&RingingTones[index].name[10]);
 
-          return SMringtone.name;
-       }
-     }
+    error=GSM_GetPhoneRingtone(&ringtone,&SMringtone);
+     
+    if (error==GE_NONE) {
+      if (GetModelFeature (FN_RINGTONES)==F_RING_SM) return SMringtone.name;
+                                                else return ringtone.name;
+    }
   }
   
   return RingingTones[index].name;
@@ -1021,3 +1010,27 @@ int GSM_SaveRingtoneToSMS(GSM_MultiSMSMessage *SMS,
 
   return i;
 }
+
+GSM_Error GSM_GetPhoneRingtone(GSM_BinRingtone *ringtone,GSM_Ringtone *SMringtone)
+{
+  GSM_Error error;
+  int i;
+
+  error=GSM->GetBinRingtone(ringtone);
+
+  if (error==GE_UNKNOWNMODEL)
+  {    
+    /* In 3310,... we have normal "Smart Messaging" format */
+    if (GetModelFeature (FN_RINGTONES)==F_RING_SM) {      
+      i=7;
+      if (ringtone->frame[9]==0x4a && ringtone->frame[10]==0x3a) i=8;
+      ringtone->frame[i]=0x02;
+       
+      GSM_UnPackRingtone(SMringtone, ringtone->frame+i, ringtone->length-i);
+
+      return GE_NONE;
+    }
+  }
+
+  return error;
+}