Diff between b9b070ff307a56324063ecfa98da5af76a9aefb6 and c8ef6d8abe61f2b6c8a2a53677b91ba8759b0065

Changed Files

File Additions Deletions Status
plugins/autopair.c +14 -4 modified

Full Patch

diff --git a/plugins/autopair.c b/plugins/autopair.c
index 6980b0a..70e1993 100644
--- a/plugins/autopair.c
+++ b/plugins/autopair.c
@@ -92,10 +92,20 @@ static ssize_t autopair_pincb(struct btd_adapter *adapter,
 		case 0x06:		/* Headphones */
 		case 0x07:		/* Portable Audio */
 		case 0x0a:		/* HiFi Audio Device */
-			if (attempt > 1)
-				return 0;
-			memcpy(pinbuf, "0000", 4);
-			return 4;
+			{
+				const char *pincodes[] = {
+					"0000",
+					"1234",
+					"1111"
+				};
+				const char *pincode;
+
+				if (attempt > G_N_ELEMENTS(pincodes))
+					return 0;
+				pincode = pincodes[attempt - 1];
+				memcpy(pinbuf, pincode, strlen(pincode));
+				return strlen(pincode);
+			}
 		}
 		break;